Creación de un conector con un origen de flujo

Cree un conector en Connector Hub para transferir datos de flujo del servicio Streaming a un servicio de destino.

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

Un conector definido con una tarea de función y origen de Streaming (opcional) soporta los siguientes destinos: Functions, Logging Analytics, Object Storage y Streaming. El destino Notifications solo está soportado cuando no se utiliza ninguna tarea de función.

Para ver un ejemplo del flujo de trabajo de Connector Hub, consulte Visión general de Connector Hub. Para ver un ejemplo de un conector que utiliza Monitoring como origen, consulte Escenario: envío de métricas a Object Storage.

Nota

  • Para el esquema de entrada de flujo, consulte Referencia de mensajes.
  • En el caso de un destino del servicio de notificaciones con origen en Streaming, todos los mensajes se envían como blobs de JSON sin formato.

Período de retención: origen de flujo

El cliente define el período de retención para el origen de Streaming en Connector Hub. Consulte Límites sobre el flujo de recursos. Para obtener más información sobre la entrega, consulte Detalles de la entrega.

Junto con el período de retención, la posición de lectura del origen de Streaming determina en qué parte del flujo se empieza a mover datos. Especifique la posición de lectura al especificar la conexión de origen.

Requisitos de punto final privado para flujos

Nota

No es posible adaptar un conector existente para utilizar un flujo con un punto final privado. Si el pool de flujos seleccionado para el origen o el destino de flujo es público, no se puede cambiar a privado y el conector no se puede actualizar para hacer referencia a un flujo privado. Para cambiar el origen o el destino para utilizar un flujo privado diferente o para utilizar un origen o un destino que no sea Streaming, vuelva a crear el conector con el origen y el destino que desee. Un ejemplo de la necesidad de un flujo privado diferente es un flujo que se movió a un pool de flujos diferente. En ese caso, vuelva a crear el conector mediante el flujo movido. Asegúrese de desactivar o suprimir el conector antiguo con el origen o destino de flujo que ya no desea.

La configuración de punto final privado está soportada para los flujos de origen y destino. A continuación, se muestran los requisitos para acceder a flujos que utilizan puntos finales privados.

  • Asegúrese de que se le otorgan permisos de acuerdo con las siguientes políticas:
    allow group <group-name> to manage virtual-network-family in compartment id <compartment-ocid>
      where any {request.operation='CreatePrivateEndpoint',
        request.operation='UpdatePrivateEndpoint',
        request.operation='DeletePrivateEndpoint',
        request.operation='ChangePrivateEndpointCompartment',
        request.operation='EnableReverseConnection',
        request.operation='ModifyReverseConnection',
        request.operation='DisableReverseConnection' 
    }
    allow group <group-name> to read stream-family in compartment id <compartment-ocid>
    
  • La mejor práctica de seguridad es localizar un flujo privado y su conector en el mismo arrendamiento.

Después de crear el conector, configure las reglas de entrada y salida para permitir que el conector acceda a ese punto final privado. Consulte Puntos finales privados: configuración de reglas de entrada y salida.

    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 Flujo.
    5. Para Destino, seleccione el servicio al que desea transferir los datos de flujo:
      • Functions: envía datos de flujo a una función.
      • Logging Analytics: envía datos de flujo a un grupo de logs.
      • Notifications: envía datos de flujo a un tema. Las notificaciones solo se admiten cuando no se define ninguna tarea de función.
      • Object Storage: envía datos de flujo a un bucket.
      • Streaming: envía datos de flujo 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 el flujo de origen:
      Nota

      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.
      • Pool de flujos: seleccione el pool de flujos que contiene el flujo que desea.
        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).
      • Flujo: seleccione el nombre del flujo del que desea recibir datos.
      • Leer posición: especifique la posición del cursor desde la que empezar a leer el flujo.
        • Más reciente: inicia la lectura de los mensajes publicados después de crear el conector.
          • Si la primera ejecución de un nuevo conector con esta configuración es correcta, mueve los datos de la hora de creación del conector. Si falla la primera ejecución (como las políticas que faltan), después de la resolución, el conector mueve los datos de la hora de creación del conector o, si la hora de creación está fuera del período de retención, los datos más antiguos disponibles en el flujo. Por ejemplo, considere un conector creado a las 10 a.m. para un flujo con un período de retención de dos horas. Si las ejecuciones fallidas se resuelven a las 11 a. m., el conector mueve los datos de las 10 a. m. Si las ejecuciones fallidas se resuelven a las 1 p.m., el conector mueve los datos más antiguos disponibles en el flujo.
          • Las ejecuciones posteriores mueven los datos desde la siguiente posición del flujo. Si falla una ejecución posterior, después de la resolución, el conector mueve los datos desde la siguiente posición del flujo o los datos más antiguos disponibles del flujo, según el período de retención del flujo.
        • Recortar Horizonte: inicia la lectura del mensaje más antiguo disponible del flujo.
          • Si la primera ejecución de un nuevo conector con esta configuración se realiza correctamente, mueve los datos de los datos más antiguos disponibles en el flujo. Si falla la primera ejecución (como las políticas que faltan), después de la resolución, el conector mueve los datos más antiguos disponibles en el flujo, independientemente del período de retención del flujo.
          • Las ejecuciones posteriores mueven los datos desde la siguiente posición del flujo. Si falla una ejecución posterior, después de la resolución, el conector mueve los datos desde la siguiente posición del flujo o los datos más antiguos disponibles del flujo, según el período de retención del flujo.
    8. (Opcional) En Configurar tarea de función, configure una tarea de función para procesar datos de flujo 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 las siguientes 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 gestionan de forma secuencial.
      • Las funciones se pueden ejecutar durante un máximo de cinco minutos. Consulte Detalles de entrega.
      • Las tareas de función están limitadas a funciones escalares.
    9. Si ha seleccionado Funciones como destino, en Configurar destino, configure la función a la que enviar los datos de log. 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 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 gestionan de forma secuencial.
      • 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 Logging Analytics como destino, en Configurar destino, configure el grupo de logs al que enviar los datos de log. A continuación, salte al paso 15.
      • compartimento: seleccione el compartimento que contiene el grupo de logs que desea.
      • Grupo de logs: seleccione el grupo de logs que desee.
      • Identificador de origen de log (solo para el origen de Streaming): seleccione el origen de log.
    11. Si ha seleccionado Notificaciones como destino, en Configurar destino, configure el tema al que enviar los datos de log. 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. Para los destinos de Streaming, los mensajes se envían como blobs JSON raw.

      Consideraciones para los destinos de Notifications:

      • El destino Notifications solo está soportado con el origen Streaming cuando no se utiliza ninguna tarea de función.
      • 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.
    12. Si ha seleccionado Object Storage como destino, en Configurar destino, configure el cubo al que enviar los datos del log. 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: opcionalmente, 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.

    13. Si ha seleccionado Flujo como destino, en Configurar destino, configure el flujo al que enviar los datos de log.
      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.
    14. 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.

    15. (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.
    16. 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 Streaming:

    oci sch service-connector create --display-name "<display_name>" --compartment-id <compartment_OCID> --source [<stream_source_in_JSON>] --target [<target_in_JSON>]

    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 Streaming, rellene source en la solicitud (CreateServiceConnectorDetails) con los detalles de Streaming. Por ejemplo, consulte StreamingSourceDetails.

Puntos finales privados: configuración de reglas de entrada y salida

Si ha creado un conector con un flujo que utiliza un punto final privado, configure las reglas de entrada y salida para permitir que el conector acceda a ese punto final privado.

  • Obtener direcciones IP para la configuración:
  • Permitir tráfico principal: agregue una regla de entrada al NSG o a la lista de seguridad con la siguiente configuración.

    Consola:

    • Sin estado: no
    • Origen: rceTrafficIpAddress (ejemplo: 10.0.0.249/32)
    • Protocolo IP: TCP
    • Rango de puertos de origen: Todo
    • Rango de puertos de destino: todos

    API: regla de ejemplo en la solicitud:

    {
      "protocol": "6",
      "source": "10.0.0.249/32"
    }
  • Agregue una regla de salida a la lista de seguridad con la siguiente configuración.

    Consola:

    • Sin estado: no
    • Origen: streamPoolIpAddress (ejemplo: 10.0.0.20/32)
    • Protocolo IP: TCP
    • Rango de puertos de origen: Todo
    • Rango de puertos de destino: todos

    API: regla de ejemplo en la solicitud:

    {
      "destination": "10.0.0.20/32",
      "protocol": "6"
    }
Nota

No es posible adaptar un conector existente para utilizar un flujo con un punto final privado. Si el pool de flujos seleccionado para el origen o el destino de flujo es público, no se puede cambiar a privado y el conector no se puede actualizar para hacer referencia a un flujo privado. Para cambiar el origen o el destino para utilizar un flujo privado diferente o para utilizar un origen o un destino que no sea Streaming, vuelva a crear el conector con el origen y el destino que desee. Un ejemplo de la necesidad de un flujo privado diferente es un flujo que se movió a un pool de flujos diferente. En ese caso, vuelva a crear el conector mediante el flujo movido. Asegúrese de desactivar o suprimir el conector antiguo con el origen o destino de flujo que ya no desea.

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.

Flujos privados: no es posible adaptar un conector existente para utilizar un flujo con un punto final privado. Si el pool de flujos seleccionado para el origen o el destino de flujo es público, no se puede cambiar a privado y el conector no se puede actualizar para hacer referencia a un flujo privado. Para cambiar el origen o el destino para utilizar un flujo privado diferente o para utilizar un origen o un destino que no sea Streaming, vuelva a crear el conector con el origen y el destino que desee. Un ejemplo de la necesidad de un flujo privado diferente es un flujo que se movió a un pool de flujos diferente. En ese caso, vuelva a crear el conector mediante el flujo movido. Asegúrese de desactivar o suprimir el conector antiguo con el origen o destino de flujo que ya no desea.