Agregar Azure SQL Managed Instance como fuente CDC a una secuencia de eventos

En este artículo se muestra cómo agregar un origen de captura de datos modificados (CDC) de Azure SQL Managed Instance a una secuencia de eventos.

El conector de origen CDC de Azure SQL Managed Instance para flujos de eventos de Microsoft Fabric permite capturar una instantánea de los datos actuales en una base de datos de SQL Managed Instance. A continuación, el conector supervisa y registra los cambios futuros a nivel de fila en estos datos. Una vez capturados los cambios en la secuencia de eventos, puede procesar estos datos CDC en tiempo real y enviarlos a diferentes destinos dentro de Fabric para su posterior procesamiento o análisis.

Nota:

Con DeltaFlow (versión preliminar), puede transformar eventos CDC sin procesar de Debezium en flujos listos para análisis que reflejen la estructura de la tabla de origen. DeltaFlow automatiza el registro de esquemas, la administración de tablas de destino y el control de la evolución del esquema. Para usar DeltaFlow, elija Eventos listos para análisis y esquema actualizado automáticamente durante el paso de control de esquemas.

Requisitos previos

  • Acceso a un área de trabajo en el modo de licencia de capacidad de Fabric o en el modo de licencia de prueba con permisos de colaborador o superior.
  • Una base de datos de Azure SQL Managed Instance en ejecución.
  • El Azure SQL Managed Instance debe habilitar el punto de conexión público y no estar detrás de un firewall o protegido en una red virtual. Si no habilita un punto de conexión público y está en una red protegida, conéctese usando la inserción de red virtual del conector Eventstream.
  • La CDC está habilitada en tu instancia administrada de Azure SQL mediante la ejecución del procedimiento almacenado sys.sp_cdc_enable_db. Para obtener más información, consulte Habilitación y deshabilitación de la captura de datos modificados.

Habilitación del punto de conexión público en la instancia administrada de Azure SQL

Vaya al portal de Azure, abra la instancia administrada de Azure SQL, seleccione Networking y habilite el punto de conexión público.

Captura de pantalla que muestra la página Redes con la opción Punto de conexión público habilitada.

Habilitación de CDC en la instancia administrada de Azure SQL

  1. Habilita CDC para la base de datos.

    EXEC sys.sp_cdc_enable_db; 
    
  2. Habilite CDC para una tabla utilizando una opción de rol de control. En este ejemplo, MyTable es el nombre de la tabla SQL.

    EXEC sys.sp_cdc_enable_table 
       @source_schema = N'dbo', 
       @source_name   = N'MyTable', 
       @role_name     = NULL 
    GO 
    

    Después de que la consulta se ejecute correctamente, habilitó CDC en la instancia administrada de Azure SQL.

    Captura de pantalla que muestra CDC habilitado.

Agregar Azure SQL Managed Instance CDC como origen

Si aún no ha agregado ningún origen a la secuencia de eventos, seleccione el icono Conectar orígenes de datos . También puede seleccionar Agregar origen>Conectar orígenes de datos en la cinta de opciones.

Captura de pantalla que muestra la selección del icono para usar un origen externo.

Si estás agregando el origen a una secuencia de eventos ya publicada, cambia al modo Edición. En la cinta de opciones, seleccione Agregar origen>Conectar orígenes de datos.

Captura de pantalla que muestra las selecciones para agregar orígenes externos.

En la página Select a data source, busque y seleccione Connect en el bloque Azure SQL MI Database (DB) Change Data Capture (CDC).

Configuración y conexión a Azure SQL Managed Instance CDC

Ingesta de datos de cambio desde bases de datos de Azure SQL Managed Instance con registro automático del esquema de tablas mediante CDC en Eventstream.

Nota:

DeltaFlow (versión preliminar): al seleccionar eventos listos para análisis y esquema actualizado automáticamente en el paso de control de esquemas, DeltaFlow transforma los eventos CDC de Debezium sin procesar en flujos listos para análisis que reflejan la estructura de la tabla de origen. DeltaFlow también automatiza la creación de tablas de destino y el control de la evolución del esquema.

  1. En la página Conectar, seleccione Nueva conexión.

    Captura de pantalla que muestra la selección del vínculo Nueva conexión en la página Conectar.

  2. En la sección Conección, escriba los valores siguientes para la Azure SQL Managed Instance:

    • Server: Escriba el punto de conexión desde el portal de Azure, reemplazando la coma entre el host y el puerto por dos puntos. Por ejemplo, si el punto de conexión es xxxxx.public.xxxxxx.database.windows.net,3342, debes escribir xxxxx.public.xxxxxx.database.windows.net:3342 en el campo Servidor.

      Captura de pantalla que muestra la página Redes con información del punto de conexión.

    • Database: Escriba el nombre de la base de datos a la que desea conectarse dentro del Azure SQL Managed Instance.

      Captura de pantalla que muestra la sección Configuración de conexión de la página Conectar.

  3. Desplácese hacia abajo y, en la sección Credenciales de conexión, siga estos pasos.

    • Para Nombre de conexión, introduzca un nombre para la conexión.

    • Para Tipo de autenticación, seleccione Básica.

      Nota:

      Actualmente, Fabric Eventstream solo admite la autenticación Basic.

    • Escriba Username y Password para el Azure SQL Managed Instance.

  4. Seleccione Conectar al final de la página.

  5. Ahora, en la página Conectar , seleccione Todas las tablas o Escriba nombres de tabla. Si selecciona este último, especifique tablas con una lista separada por comas de identificadores de tabla completos (schemaName.tableName) o expresiones regulares válidas. Por ejemplo:

    • Use dbo.test.* para seleccionar todas las tablas cuyos nombres empiecen por dbo.test.
    • Use dbo\.(test1|test2) para seleccionar dbo.test1 y dbo.test2.

    Puede combinar ambos formatos en la lista. El límite total de caracteres para toda la entrada es de 102 400 caracteres.

  6. Expanda Configuración avanzada para configurar el modo de control decimal, que especifica cómo controla DECIMAL el conector y NUMERIC los valores de columna:

    • Precise: representa valores que usan tipos decimales exactos (por ejemplo, Java BigDecimal) para garantizar una precisión y precisión completas en la representación de datos.
    • Double: convierte valores en números de punto flotante de precisión doble. Esta opción mejora la facilidad de uso y el rendimiento, pero podría provocar una pérdida de precisión.
    • String: codifica los valores como cadenas con formato. Esta opción facilita su consumo en sistemas posteriores, pero pierde información semántica sobre el tipo numérico original.

Detalles de flujo o origen

  1. En la página Conectar , siga uno de estos pasos en función de si usa Eventstream o Real-Time hub.

    • Eventstream:

      En el panel Detalles del origen de la derecha, siga estos pasos:

      1. En Nombre de origen, seleccione el botón Lápiz para cambiar el nombre.

      2. Observe que el nombre de Eventstream y el nombre de stream son de solo lectura.

    • Centro de Tiempo Real:

      En la sección Detalles de flujo a la derecha, siga estos pasos:

      1. Seleccione el área de trabajo Fabric donde desea crear la secuencia de eventos.

      2. En Nombre del flujo de eventos, seleccione el botón Editar y escriba un nombre para la secuencia de eventos.

      3. El valor de nombre del flujo se genera automáticamente adjuntando -stream al nombre del flujo de eventos. Esta secuencia aparece en la página Todos los flujos de datos del centro en tiempo real cuando finaliza el asistente.

  2. Seleccione Siguiente en la parte inferior de la página Configurar .

Revisión y conexión

En la pantalla Revisar y conectar, revise el resumen y seleccione Agregar (Eventstream) o Conectar (Real-Time hub).

Página de control de esquemas

  1. En el paso Control de esquemas , elija una de las siguientes opciones:

    • Eventos listos para análisis y esquema actualizado automáticamente (vista previa de DeltaFlow): el conector transforma los eventos CDC sin procesar en flujos listos para análisis que reflejan la estructura de la tabla de origen. DeltaFlow enriquece los eventos con metadatos como el tipo de cambio (inserción, actualización o eliminación) y las marcas de tiempo, y administra automáticamente las tablas de destino y la evolución del esquema.
    • Eventos sin procesar de CDC: el conector ingiere y disponibiliza los eventos sin procesar de CDC. Opcionalmente, el conector puede detectar automáticamente esquemas de tabla y registrarlos en el registro de esquemas. Use esta opción cuando desee conocer el esquema sin la transformación DeltaFlow.

    Nota:

    En la captura de pantalla siguiente se muestra Azure SQL Database CDC. Las opciones de control de esquemas son las mismas para todos los conectores de origen CDC admitidos.

    Captura de pantalla que muestra la etapa de gestión de esquemas con las opciones de eventos DeltaFlow y CDC Raw para un conector de fuente CDC.

  2. Habilite la asociación del esquema de eventos.

  3. Para Workspace, seleccione un área de trabajo de Fabric para el conjunto de esquemas.

  4. En Conjunto de esquemas, + Crear está seleccionado de forma predeterminada, lo que crea un nuevo conjunto de esquemas. Puede cambiarlo para seleccionar un conjunto de esquemas de eventos existente.

  5. Si seleccionó la opción + Crear en el paso anterior, escriba un nombre para el conjunto de esquemas.

  6. En la página Revisar y conectar, revise el resumen y, a continuación, seleccione Agregar (Eventstream) o Conectar (Centro en tiempo real).

    Captura de pantalla que muestra la selección del botón Agregar.

    Para todas las tablas o tablas seleccionadas de la base de datos de Azure SQL Managed Instance, el conector detecta automáticamente y crea esquemas y los registra con el registro de esquemas.

DeltaFlow: transformación de eventos listos para análisis (versión preliminar)

Al habilitar eventos listos para analytics y esquema actualizado automáticamente (DeltaFlow), el conector proporciona las siguientes funcionalidades:

  • Forma de evento lista para análisis: los eventos CDC de Debezium sin procesar se transforman en un formato tabular que refleja la estructura de la tabla de origen. Los eventos se enriquecen con columnas de metadatos, incluido el tipo de cambio (insert, updateo delete) y la marca de tiempo del evento.
  • Administración automática de tablas de destino: al enrutar secuencias habilitadas para DeltaFlow a un destino admitido como un centro de eventos, las tablas de destino se crean automáticamente para que coincidan con el esquema de la tabla de origen. No es necesario crear ni configurar manualmente tablas de destino.
  • Control de evolución del esquema: cuando cambian las tablas de base de datos de origen (por ejemplo, se agregan nuevas columnas o se crean tablas), DeltaFlow detecta automáticamente los cambios, actualiza los esquemas registrados y ajusta las tablas de destino en consecuencia. Esta opción minimiza la intervención manual causada por cambios de esquema.

Nota:

DeltaFlow (versión preliminar) se admite actualmente con los conectores de origen CDC de Azure SQL Database, CDC de Azure SQL Managed Instance, CDC de SQL Server en VM y CDC de PostgreSQL.

Para más información sobre cómo DeltaFlow transforma los eventos CDC sin procesar en una salida lista para el análisis, incluidos los tipos de operación y las columnas de metadatos, consulte Transformación de salida de DeltaFlow.

Visualización del flujo de eventos actualizado

Puede ver el origen de Azure SQL MI DB (CDC) agregado a la secuencia de eventos en modo Edit.

Una captura de pantalla del origen CDC de Azure SQL MI DB añadido en el modo de edición con características extendidas.

Para implementar este origen de Azure SQL Managed Instance recién agregado, seleccione Publish. Después de completar estos pasos, el origen de la instancia administrada de Azure SQL está disponible para su visualización en la vista Live.

Captura de pantalla del origen CDC de Azure SQL MI DB agregado en modo de vista en vivo con características extendidas.

Configuración de destinos de Eventstream para usar esquemas

Actualmente, solo se admiten los destinos de eventhouse, punto de conexión personalizado y flujo derivado para Eventstreams con esquemas asociados. En esta sección se muestra cómo agregar y configurar un destino de Eventhouse cuando las características extendidas (como la compatibilidad con esquemas) están habilitadas para la secuencia de eventos.

Nota:

Cuando se usa DeltaFlow (versión preliminar) con un origen de captura de datos modificados (CDC) compatible, las tablas de destino de Eventhouse se crean y administran automáticamente para que coincidan con la estructura de la tabla de origen. No es necesario configurar manualmente el esquema de la tabla de destino. DeltaFlow también controla la evolución del esquema automáticamente cuando cambian las tablas de origen.

Configuración de un esquema para un destino de punto de conexión personalizado

  1. Seleccione Transformar eventos o agregar destino y, a continuación, seleccione CustomEndpoint.

  2. En el panel Punto de conexión personalizado , especifique un nombre para el destino.

  3. En Esquema de entrada, seleccione el esquema para los eventos. Al habilitar la compatibilidad de esquemas para una secuencia de eventos, se realiza una selección en este cuadro.

Captura de pantalla que muestra el panel para configurar un punto de conexión personalizado.

Para obtener pasos detallados sobre cómo configurar un destino de punto de conexión personalizado, consulte Incorporación de un punto de conexión personalizado o un destino de aplicación personalizado a una secuencia de eventos.

Configuración de esquemas para un destino de eventhouse

  1. Seleccione Transformar eventos o agregar destino y, a continuación, seleccione Eventhouse.

  2. En el panel Eventhouse , configure las siguientes opciones relacionadas con el esquema:

    1. En Esquema de entrada, seleccione uno o varios esquemas en la lista desplegable.

      Captura de pantalla que muestra el panel de configuración del centro de eventos con un esquema de entrada seleccionado.

      Nota:

      Si seleccionó la opción Esquema dinámico a través de encabezados al configurar un origen de Event Hubs, es posible que haya configurado varios esquemas para el origen y los haya asignado a varias propiedades y sus valores.

    2. En Método de creación de tablas, seleccione Una sola tabla con todos los esquemas combinados o Tablas independientes para cada esquema, en función de sus requisitos.

      Captura de pantalla que muestra el panel de configuración del centro de eventos con métodos de creación de tablas.

    3. En Escribir datos con, seleccione una de las siguientes opciones:

      • Solo datos de carga: Guarde los datos extraídos del payload en la tabla. Si hay varios esquemas de entrada, los datos se envían a varias tablas.
      • Metadatos y carga: incluya metadatos y datos de carga en una tabla única. Las columnas de ejemplo incluyen source , subject, typey data.

      Captura de pantalla que muestra el panel de configuración del centro de eventos con las opciones para escribir datos.

Para obtener pasos detallados sobre cómo configurar un destino de un centro de eventos, consulte Incorporación de un destino de un centro de eventos a una secuencia de eventos.

Visualización de la salida lista para análisis de DeltaFlow (versión preliminar)

Si ha habilitado eventos listos para análisis y esquema actualizado automáticamente (DeltaFlow), las tablas de destino se crean automáticamente en una forma que refleja las tablas de base de datos de origen. Cada tabla incluye las columnas originales junto con las columnas de metadatos para el tipo de cambio y la marca de tiempo.

Nota:

En la captura de pantalla siguiente se muestra Azure SQL Database CDC. La salida de la tabla de destino deltaFlow es la misma para todos los conectores de origen CDC admitidos.

Captura de pantalla que muestra las tablas de destino de Eventhouse creadas por DeltaFlow en forma lista para análisis.

Puede consultar estas tablas mediante el lenguaje de consulta Kusto (KQL) u otras herramientas de análisis, sin tener que analizar las cargas sin procesar de CDC Debezium.

Otros conectores: