Creación de un conector con un origen de cola

Cree un conector en Connector Hub para transferir mensajes de una cola en el servicio Queue a un servicio de destino.

Para obtener más información sobre el servicio Queue, consulte Cola.

Un conector definido con un origen de cola y una tarea de función (opcional) soporta los siguientes destinos: Functions, Notifications, Object Storage y Streaming.

Para ver un ejemplo del flujo de trabajo de Connector Hub, consulte Visión general de Connector Hub.

Para un escenario que implique un destino de función, consulte Escenario: Envío de mensajes de cola a una función.

Sondeo largo

Por defecto, los conectores utilizan el sondeo largo para leer mensajes de las colas. El sondeo largo es útil para evitar reintentos de bucle estrictos cuando la cola está vacía. El timeout de lectura para la lectura de una cola es de 30 segundos. En cada operación de movimiento, el conector espera a que los mensajes consumibles estén disponibles en la cola. Si el timeout de lectura pasa y no hay mensajes disponibles para el consumo, el conector finaliza la solicitud y vuelve a intentarlo con otra solicitud.

Filtros y mensajes consumidos

Puede filtrar una cola para canales específicos. Para conocer los parámetros de API y CLI para filtrar una cola, consulte Uso de mensajes de un canal. Un mensaje que se ha transferido al destino del conector se considera "consumido". Para cumplir los requisitos del servicio Queue, el conector suprime los mensajes transferidos de la cola de origen. Para obtener más información, consulte Uso de mensajes.

Período de retención: origen de cola

El período de retención para el origen de cola en Connector Hub depende de la configuración de cola. Consulte Creación de una cola. Para obtener más información sobre la entrega, consulte Detalles de la entrega.

    1. En la página de lista Conectores, seleccione Crear conector. Si necesita ayuda para buscar la página de lista, consulte Listado de conectores.
    2. En la página Crear conector, introduzca un nombre fácil de recordar para el nuevo conector y una descripción opcional. Evite introducir información confidencial.
    3. Seleccione el compartimento en el que desea almacenar el nuevo conector.
    4. En Configurar conector, en Origen, seleccione Cola.
    5. En Destino, seleccione el servicio al que desea transferir los mensajes:
      • Funciones: envía mensajes de una cola a una función.
      • Notificaciones: envíe mensajes de una cola a un tema. Las notificaciones solo están soportadas cuando no se ha definido ninguna tarea de función.
      • Object Storage: envía mensajes de una cola a un bloque.
      • Flujo: envía mensajes de una cola a un flujo.
    6. (Opcional) Para activar los logs de servicio para el nuevo conector, seleccione el conmutador Logs y proporcione los siguientes valores:
      • Categoría de log: el valor Seguimiento de conector se selecciona automáticamente.
      • Compartimento: seleccione el compartimento que desea para almacenar los logs de servicio para el conector.
      • Grupo de logs: seleccione el grupo de logs para el que desea almacenar los logs de servicio. Para crear un nuevo grupo de logs, seleccione Create new group y, a continuación, introduzca un nombre.
      • Nombre de log: si lo desea, introduzca un nombre para el log.
      • Mostrar opciones avanzadas:
        • Retención de logs: si lo desea, especifique el tiempo que se conservarán los logs de servicio (valor por defecto: 30 días).
    7. En Configurar conexión de origen, seleccione la cola que contiene los mensajes que desea:
      • Compartimento: seleccione el compartimento que contiene la cola que desea.
      • Cola: seleccione la cola que contiene los mensajes que desea.
        Nota

        Para seleccionar una cola para un conector, debe tener autorización para leer la cola. Consulte Políticas de IAM (protección de Connector Hub).
      • Filtro de canal (en Filtrado de mensajes) (opcional): para filtrar mensajes de canales de la cola, introduzca un valor.

        Por ejemplo, para filtrar mensajes por ID de canal, introduzca el ID de canal.

        Para conocer los valores soportados, consulte channelFilter en GetMessages (API de Queue).

      Nota

      Un mensaje que se ha transferido al destino del conector se considera "consumido". Para cumplir los requisitos del servicio Queue, el conector suprime los mensajes transferidos de la cola de origen. Para obtener más información, consulte Uso de mensajes.
    8. (Opcional) En Configurar tarea de función, configure una tarea de función para procesar mensajes de la cola mediante el servicio de funciones:
      • Seleccionar tarea: seleccione Función.
      • Compartimento: seleccione el compartimento que contiene la función que desea.
      • Aplicación de función: seleccione el nombre de la aplicación de función que incluye la función que desea.
      • Función: seleccione el nombre de la función que desea utilizar para procesar los datos recibidos del origen.

        Para que lo utilice el conector como una tarea, la función debe estar configurada para devolver una de estas respuestas:

        • Lista de entradas JSON (debe definir la cabecera de respuesta Content-Type=application/json)
        • Entrada JSON única (debe definir la cabecera de respuesta Content-Type=application/json)
        • Objeto binario único (debe definir la cabecera de respuesta Content-Type=application/octet-stream)
      • Mostrar opciones adicionales: seleccione este enlace y especifique límites para cada lote de datos enviado a la función. Para utilizar la configuración manual, proporcione valores para el límite de tamaño de lote (KB) y el límite de tiempo de lote (segundos).

      Consideraciones para las tareas de función:

      • Connector Hub no analiza la salida de la tarea de función. La salida de la tarea de función se escribe tal cual en el destino. Por ejemplo, al utilizar un destino de Notifications con una tarea de función, todos los mensajes se envían como blobs de JSON no procesados.
      • Las funciones se llaman de forma síncrona con 6 MB de datos por llamada. Si los datos superan los 6 MB, el conector llama de nuevo a la función para mover los datos que superen el límite. Estas llamadas se manejan secuencialmente.
      • Las funciones se pueden ejecutar durante un máximo de cinco minutos. Consulte Detalles de entrega.
      • Las tareas de función se limitan a funciones escalares.
    9. Si ha seleccionado Funciones como destino, en Configurar destino, configure la función a la que enviar los mensajes de la cola. A continuación, salte al paso 15.
      • Compartimento: seleccione el compartimento que contiene la función que desea.
      • Aplicación de función: seleccione el nombre de la aplicación de función que contiene la función que desea.
      • Función: seleccione el nombre de la función a la que desea enviar los datos.
      • Mostrar opciones adicionales: seleccione este enlace y especifique límites para cada lote de datos enviado a la función. Para utilizar la configuración manual, proporcione valores para el límite de tamaño de lote (ya sea KB o número de mensajes) y el límite de tiempo de lote (segundos).

        Por ejemplo, limite el tamaño del lote seleccionando 5.000 kilobytes o 10 mensajes. Un límite de tiempo de lote de ejemplo es de 5 segundos.

      Consideraciones para destinos de Functions:

      • El conector vacía los datos de origen como una lista de JSON en lotes. El tamaño máximo de lote o carga útil es de 6 MB.
      • Las funciones se llaman de forma síncrona con 6 MB de datos por llamada. Si los datos superan los 6 MB, el conector llama de nuevo a la función para mover los datos que superen el límite. Estas llamadas se manejan secuencialmente.
      • Las funciones se pueden ejecutar durante un máximo de cinco minutos. Consulte Detalles de entrega.
      • No devuelve datos de destinos de Functions a conectores. El hub de conector no lee los datos devueltos de los destinos de Functions.
    10. Si ha seleccionado Notificaciones como destino, en Configurar destino, configure el tema al que enviar los mensajes de la cola. A continuación, salte al paso 15.
      • Compartimento: seleccione el compartimento que contiene el tema que desea.
      • Tema: seleccione el nombre del tema al que desea enviar los datos.
      • Formato de mensaje: seleccione la opción que desea:
        Nota

        Las opciones de formato de mensaje están disponibles para conectores con origen de Logging únicamente. Estas opciones no están disponibles para conectores con tareas de función. Cuando las opciones de Formato de mensaje no están disponibles, los mensajes se envían como blobs JSON sin formato.
        • Enviar mensajes con formato: diseño simplificado y fácil de recordar.

          Para ver los protocolos de suscripción y los tipos de mensajes soportados para los mensajes con formato, consulte Formato fácil de recordar.

        • Enviar mensajes sin formato: blob JSON sin formato.

      Consideraciones para los destinos de Notifications:

      • El tamaño máximo de mensaje para el destino Notifications es 128 KB. Cualquier mensaje que exceda el tamaño máximo se borra.
      • Los mensajes SMS muestran resultados inesperados para determinadas configuraciones de conector. Este problema se limita a los temas que contienen suscripciones de SMS para las configuraciones de conector indicadas. Para obtener más información, consulte Varios mensajes SMS para una sola notificación.
    11. Si ha seleccionado Object Storage como destino, en Configurar destino, configure el cubo al que enviar los mensajes de la cola. A continuación, salte al paso 15.
      • Compartimento: seleccione el compartimento que contiene el cubo que desea.
      • Cubo: seleccione el nombre del cubo al que desea enviar los datos.
      • Prefijo de nombre de objeto: si lo desea, introduzca un valor de prefijo.
      • Mostrar opciones adicionales: seleccione este enlace y, opcionalmente, introduzca valores para el tamaño de lote (en MB) y el tiempo de lote (en milisegundos).

      Consideraciones para destinos de Object Storage:

      • Detalles de renovación de lote:

        • Tamaño de renovación de lote: 100 MB
        • Tiempo de renovación de lote: 7 minutos
      • Los archivos guardados en Object Storage se comprimen con gzip.

      • Formato de los datos movidos desde un origen de supervisión: objetos. El conector particiona los datos de origen de Monitoring por espacio de nombres de métrica y escribe los datos de cada grupo (espacio de nombres) en un objeto. Cada nombre de objeto incluye los siguientes elementos.

        <object_name_prefix>/<service_connector_ocid>/<metric_compartment_ocid>/<metric_namespace>/<data_start_timestamp>_<data_end_timestamp>.<sequence_number>.<file_type>.gz

        Dentro de un objeto, cada juego de puntos de datos se agrega a una nueva línea.

    12. Si ha seleccionado Flujo como destino, en Configurar destino, configure el flujo al que enviar los mensajes de la cola.
      Nota

      Para seleccionar un pool de flujos y un flujo para un conector, debe tener autorización para leer el pool de flujos y el flujo. Consulte Políticas de IAM (protección de Connector Hub). La configuración de punto final privado está soportada. Para utilizar un punto final privado, consulte Requisitos previos de punto final privado para flujos.
      • Compartimento: seleccione el compartimento que contiene el flujo que desea.
      • Flujo: seleccione el nombre del flujo al que desea enviar los datos.

      Consideraciones para destinos de Streaming:

      • Formato de los datos movidos desde un origen de Monitoring: cada objeto se escribe como un mensaje independiente.
    13. Para aceptar políticas por defecto, seleccione el enlace Crear proporcionado para cada política por defecto.

      Las políticas por defecto se ofrecen para cualquier autorización necesaria para que este conector acceda a los servicios de origen, tarea y destino.

      Puede obtener esta autorización mediante estas políticas por defecto o mediante políticas basadas en grupos. Las políticas por defecto se ofrecen cada vez que utiliza la consola para crear o editar un conector. La única excepción es cuando la política exacta ya existe en IAM, en cuyo caso no se ofrece la política por defecto. Para obtener más información sobre este requisito de autorización, consulte Autenticación y autorización.

      • Si no tiene permisos para aceptar políticas por defecto, póngase en contacto con el administrador.
      • Las políticas creadas automáticamente permanecen cuando se suprimen los conectores. Como mejor práctica, suprima las políticas asociadas al suprimir el conector.

      Para revisar una política recién creada, seleccione el enlace de vista asociado.

    14. (Opcional) Agregue una o más etiquetas al conector: seleccione Mostrar opciones avanzadas para mostrar la sección Agregar etiquetas.
      Si tiene permisos para crear un recurso, también los tiene para aplicar etiquetas de formato libre a ese recurso. Para aplicar una etiqueta definida, debe tener permisos para utilizar el espacio de nombres de la etiqueta. Para obtener más información sobre el etiquetado, consulte Etiquetas de recursos. Si no está seguro de si aplicar etiquetas, omita esta opción o pregunte a un administrador. Puede aplicar etiquetas más tarde.
    15. Haga clic en Crear.
    Comienza el proceso de creación y se muestra su progreso. Al finalizar, se abre la página de detalles del conector.
  • Utilice el comando oci sch service-connector create y los parámetros necesarios para crear un conector con un origen de cola:

    oci sch service-connector create [...] --source <queue_json_input>

    Para transferir detalles de origen a CLI mediante un archivo JSON:

    oci sch service-connector create [...] --source file:queue_source.json

    Contenido del archivo JSON de ejemplo:

    {
        "kind": "plugin",
        "pluginName": "QueueSource",
        "configMap": {
            "queueId": "<queue_json_input>"
        }
    }

    Para obtener una lista completa de parámetros y valores para los comandos de la CLI, consulte la Referencia de comandos de CLI.

  • Ejecute la operación CreateServiceConnector para crear un conector.

    Para crear un conector con un origen de cola, rellene source en la solicitud (CreateServiceConnectorDetails) con un plugin de conector que utilice Queue (pluginName QueueSource, con cada OCID de cola en configMap). Por ejemplo, consulte PluginSourceDetails.

Confirmar que el nuevo conector mueve datos

Después de crear el conector, confirme que está moviendo datos.

  • Activar logs para que el conector obtenga detalles sobre el flujo de datos.
  • Compruebe los resultados esperados en el servicio de destino.

Confirmar que los datos se mueven ayuda a evitar la desactivación automática, que ocurre cuando un conector falla durante mucho tiempo.