Crear y gestionar flujos de datos

Crear un flujo de datos desde la interfaz de usuario

  1. En el panel de navegación de la izquierda, seleccione Data Streams para abrir la página Data Streams.

  2. Haga clic en el botón Agregar flujo de datos. Se muestra el cuadro de diálogo Agregar flujo de datos.

    Página principal de flujos de datos con el botón Agregar flujos de datos

  3. En la página Información de flujo de datos, introduzca un nombre de recurso único en el cuadro Nombre.

    El nombre debe tener entre 1 y 32 caracteres. Empieza por una letra. Utilice un nombre estable porque los puntos de control están dentro del ámbito del contrato de flujo. Haga clic en Siguiente.

    Cuadro de diálogo Add Data Streams: página Data Stream Information

  4. Agregue la descripción con el propietario del negocio, la pista de origen, las tablas, el consumidor y el objetivo de recuperación.

  5. En la página Opciones de origen, proporcione los valores de las opciones que se muestran en la siguiente imagen:

    Cuadro de diálogo Data Stream: página Source Options

    • Nombre de pista: nombre del archivo de pista de origen. El nombre de pista debe tener dos caracteres que identifiquen el prefijo de pista de origen o el punto final de origen aceptado por el servicio.

    • Subdirectorio de pista: ruta del subdirectorio donde se almacenan los archivos de pista. Este es el directorio debajo del despliegue GoldenGate donde se almacena la pista de origen, cuando no está en la ubicación por defecto.

    • Codificación: esta opción controla la codificación de registros para el flujo de datos. Actualmente, se admite la codificación JSON. Utilice el editor YAML o la configuración de REST para las opciones de JSON avanzadas.

    • Tamaño de buffer: este valor controla el tamaño del buffer de memoria utilizado en el servicio de transmisión de datos. El servicio de transmisión de datos vaciará la cola de mensajes en memoria después de que el tamaño total de bytes supere el valor especificado y entregue los registros al cliente. Rango 131.072 a 10.485.760; predeterminado 1.048.576. No se trata de una retención duradera.

    • Calidad del servicio: esta opción define el comportamiento de supresión y recuperación de duplicados del flujo de datos. exactlyOnce, atLeastOnce o atMostOnce.

      Consulte Semántica de Puntos de Control, Recuperación y Entrega antes de seleccionar un valor que no sea por defecto.

      El servicio de transmisión de datos admite tres niveles de calidad de servicio:

      • Exactamente una vez: este modo es el modo más restrictivo en el que el servicio filtra cualquier registro duplicado durante la recuperación de ver un registro RESTART OK/ABEND en las pistas de origen. Los clientes no verán registros duplicados. Si el servicio no puede localizar el registro con la última posición procesada proporcionada, se produce un error.

      • Al menos una vez: este modo no suprime los registros duplicados durante la recuperación ni ve un registro RESTART OK/ABEND en la pista de origen. Los clientes pueden ver registros duplicados en el flujo de datos. Además, si el servicio no puede localizar el registro con la última posición procesada proporcionada, se produce un error.

      • Como máximo una vez: este modo suprime los registros duplicados durante la recuperación o ve un registro RESTART OK/ABEND en la pista de origen. Los clientes no verán registros duplicados en el flujo de datos. Si el servicio no puede localizar el registro con la última posición procesada indicada, encontrará el siguiente registro disponible y avanzará.

    • Formato CloudEvents: el servicio de transmisión de datos admite la transmisión de los registros de datos en formato CloudEvents. Envuelve los registros GoldenGate en JSON CloudEvents. Está desactivado por defecto. Por defecto, este formato está desactivado y se puede controlar activando la propiedad mediante el conmutador al crear el canal de transmisión de datos.

  6. En la página Opciones de filtrado, las opciones para incluir y excluir reglas de filtrado están disponibles, como se muestra en la siguiente imagen:

    Cuadro de diálogo Data Stream:

    Especifique las opciones de la regla de filtrado de la siguiente forma:

    • Acción de regla: seleccione las opciones Excluir o Incluir.

    • Tipo de filtro: el tipo de filtro incluye lo siguiente:

      Tipo de objeto: puede seleccionar varias opciones de la lista desplegable, incluidas DML, DDL, INSERT, UPDATE, UPSERT, DELETE.

      Nombres de objeto: nombre del objeto de filtrado creado anteriormente.

Haga clic en Agregar para agregar la regla de filtrado al proceso de flujo de datos.

  1. Haga clic en Crear flujo de datos. Volverá a la página inicial del servicio de distribución donde se muestra el flujo de datos.

  2. Haga clic en el flujo de datos creado para ver las definiciones AsyncAPI del flujo de datos del documento de YAML para el flujo.

Edición de la configuración de flujos de datos desde la interfaz de usuario

Para editar la configuración de Data Streams:

  1. En el panel de navegación de la izquierda, haga clic en Data Streams.

  2. Seleccione el nombre del flujo de datos que se debe modificar.

  3. En la página Flujos de Datos, utilice la columna Acción para ver los detalles del flujo de datos, suprimir un flujo de datos y cambiar su filtrado.

    Modifique el filtrado de flujos de datos.

  4. Si hace clic en la opción Cambiar filtrado del menú Acción, se muestra el cuadro de diálogo Editar reglas de filtrado de flujo de datos. En este cuadro, puede cambiar las opciones Acción de regla (Incluir, Excluir) y Tipo de filtro (Nombre de objeto o Tipo de objeto).

  5. Haga clic en Agregar para aplicar el filtrado.

  6. Haga clic en Enviar para devolver la página Flujos de Datos.

    Puede editar más el flujo de datos haciendo clic en el flujo de datos de la columna Nombre. Muestra la configuración completa del flujo de datos. Utilice el icono de lápiz junto a cada configuración para cambiarlo. Puede cambiar el archivo de pista de origen que utiliza un flujo de datos, sus reglas de filtrado y la calidad del servicio. También puede utilizar el editor YAML para cambiar la configuración del flujo de datos y cargar los cambios mediante el icono Cargar Cambios situado junto al editor YAML.

Creación de un flujo de datos con la API de REST

Utilice POST /services/v2/stream/{streamName} con una cuenta de administrador. La solicitud mínima identifica una pista de origen:

{
  "$schema": "ogg:dataStream",
  "source": {
    "trail": "ea",
    "path": "./dirdat"
  }
}

Una solicitud de producción normalmente define explícitamente la calidad del servicio, los filtros, la emisión de esquemas JSON, los campos de metadatos y los controles de tamaño. El archivo de soporte data_stream_create_request.json contiene un ejemplo completo desinfectado.

{
  "$schema": "ogg:dataStream",
  "description": "Streams sales order changes",
  "source": {"trail": "ea", "path": "./dirdat"},
  "qualityOfService": "exactlyOnce",
  "bufferSize": 1048576,
  "tcpKeepAliveTimeout": 120,
  "cloudEventsFormat": false,
  "rules": [
    {
      "action": "include",
      "filter": {"objectNames": ["SALES.ORDERS", "SALES.ORDER_ITEMS"]}
    }
  ],
  "encoding": {
    "json": {
      "$schema": "ogg:outputFormatJson",
      "model": "op",
      "includeJSONSchemaRecord": true,
      "includeObjectMetadataRecords": true,
      "includeStreamMetadataRecord": true,
      "metaFields": {
        "qualifiedTable": true,
        "opType": true,
        "opTs": true,
        "pos": true,
        "xid": true,
        "csn": "csn",
        "opSeqno": "op_seqno",
        "transInd": "trans_ind"
      }
    }
  }
}

Propiedades de configuración de nivel superior

En la siguiente tabla, se proporcionan las propiedades de configuración utilizadas para configurar el flujo.

Propiedad Tipo/valor por defecto Descripción
$schema Cadena / ogg:dataStream Identificador de esquema de configuración.
source Objeto/requerido Pista de origen y ruta opcional.
description Cadena/ninguna 1 a 4.096 caracteres que describen el flujo de datos.
qualityOfService Enum / exactlyOnce atLeastOnce, exactlyOnce o atMostOnce.
bufferSize Integer / 1,048,576 Vaciar umbral en bytes. Mínimo 131,072; máximo 10,485,760.
tcpKeepAliveTimeout Entero / 120 Timeout de mantenimiento de conexiones de TCP en segundos. Mínimo 1; máximo 10.800.
cloudEventsFormat Booleano / false Activa los sobres JSON CloudEvents.
rules Matriz/ninguna 1 a 1.024 incluyen o excluyen reglas.
encoding Cadena u objeto / json Utilice "json" para los valores por defecto o {"json": {...}} para la configuración de salida avanzada.

Recuperar, actualizar, mostrar y suprimir flujo de datos

Utilice la siguiente tabla para gestionar o suprimir flujos de datos:

Tarea Método y Ruta de Acceso Rol
Mostrar flujos GET /services/v2/stream Usuario
Obtener configuración GET /services/v2/stream/{streamName} Operador
Obtener YAML generado GET /services/v2/stream/{streamName}/yaml Usuario
Actualizar configuración PATCH /services/v2/stream/{streamName} Administrador
Actualizar YAML PATCH /services/v2/stream/{streamName}/yaml Administrador
Suprimir flujo DELETE /services/v2/stream/{streamName} Administrador

Atención: el cambio de nombres de campo, cadenas de operación, modelo de registro, filtros o emisión de esquema cambia el contrato del consumidor. Coordinar el cambio, versionar el contrato y probar el reinicio desde un punto de control existente antes de la implementación de producción.

Utilizar el YAML generado como contrato desplegado

El YAML generado incluye el servidor específico del despliegue, la dirección del canal, el parámetro de consulta begin, la carga útil del mensaje y los esquemas de registro soportados. Recuperarlo después de la creación y después de cada cambio de configuración. Almacene una copia revisada con la versión de consumidor, pero compárela siempre con la versión en tiempo de ejecución durante la validación del despliegue.