Incorporación de la captura de datos modificados (CDC) de Azure SQL Database como origen en el centro en tiempo real

En este artículo se describe cómo obtener eventos de Change Data Capture (CDC) de Azure SQL Database en Fabric Real-Time hub.

El conector de origen de CDC de Azure SQL Database para secuencias de eventos de Microsoft Fabric permite capturar una instantánea de los datos actuales en una base de datos de Azure SQL. A continuación, el conector supervisa y registra los cambios futuros a nivel de fila en estos datos. Una vez capturados los cambios en el flujo de eventos, puede procesar estos datos de 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 espacio de trabajo en el modo de licencia de capacidad de Fabric o el modo de licencia de prueba con permisos de Colaborador o superior.
  • Un servidor de Azure SQL en ejecución con una base de datos de Azure SQL.
  • La base de datos de Azure SQL debe ser accesible públicamente y no estar detrás de un firewall o estar protegido en una red virtual. Si reside en una red protegida, conéctese a ella mediante la inserción de red virtual del conector Eventstream.
  • Habilite CDC en su base de datos de Azure SQL ejecutando el 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.

Nota:

No habilite la creación de reflejo en la base de datos de Azure SQL.

Habilitación de la CDC en su Azure SQL Database

  1. Vaya al Azure Portal, abra la Azure SQL Database y seleccione Editor de consultas. Elija un método de autenticación para iniciar sesión.

    Captura de pantalla de la apertura de Azure SQL Database.

  2. Ejecuta los siguientes comandos SQL para habilitar CDC en la base de datos:

    -- Enable Database for CDC
    EXEC sys.sp_cdc_enable_db;
    
    -- Enable CDC for a table using a gating role option
    EXEC sys.sp_cdc_enable_table
        @source_schema = N'dbo',
        @source_name   = N'MyTable',
        @role_name     = NULL
    GO
    

Página Orígenes de datos

  1. Inicie sesión en Microsoft Fabric.

  2. Si ve Power BI en la parte inferior izquierda de la página, cambie a la carga de trabajo Fabric seleccionando Power BI y, después, seleccionando Fabric.

    Captura de pantalla que muestra cómo cambiar a la carga de trabajo de Fabric.

  3. Selecciona Tiempo real en la barra de navegación de la izquierda.

    Captura de pantalla que muestra cómo iniciar la experiencia de conexión al origen de datos.

  4. La página Datos de streaming se abre de forma predeterminada. Haga clic en el botón Agregar datos para ir a la página Orígenes de datos .

    Captura de pantalla que muestra la página Fuentes de datos en el centro de Real-Time.

    También puede acceder directamente a la página Orígenes de datos seleccionando la opción Agregar datos en la barra de navegación izquierda.

    Captura de pantalla que muestra el botón Conectar origen de datos.

  1. En la página Orígenes de datos, seleccione la categoría Orígenes de Microsoft en la parte superior y, a continuación, seleccione Conectar en el icono Azure SQL DB (CDC).

    Captura de pantalla que muestra la selección de Azure SQL Database (CDC) como tipo de origen en la página Orígenes de datos.

    Use las instrucciones de la sección Conexión a un origen CDC de Azure SQL Database.

Conexión a un origen CDC de Azure SQL Database

Ingesta de datos modificados de bases de datos de Azure SQL con registro automático de esquemas de tabla a través de 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 página Conectar del Asistente de eventos con el enlace de nueva conexión resaltado.

  2. En la sección Configuración de la conexión, introduzca los siguientes valores para la base de datos de Azure SQL:

    • Servidor: Introduzca el nombre del servidor de Azure SQL desde el portal de Azure. Tiene este formato: mysqlservername.database.windows.net.

    • Base de datos: escriba el nombre de la base de datos de Azure SQL en Azure Portal.

      Captura de pantalla en la que se muestra la sección Configuración de la conexión de la página Nueva conexión.

  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 básica .

    • Escriba el Nombre de usuario y la Contraseña de la base de datos.

  4. Seleccione Conectar.

    Captura de pantalla que muestra la sección de Credenciales de conexión de la página de Nueva conexión.

  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 mezclar ambos formatos mediante comas. El límite total de caracteres para toda la entrada es de 102 400 caracteres.

  6. Puede expandir Configuración avanzada para acceder a más opciones de configuración para el origen CDC de Azure SQL Database:

    • Modo de control decimal: define cómo controla el conector DECIMAL 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 configuración mejora la facilidad de uso y el rendimiento, pero podría dar lugar a una pérdida de precisión.
      • String: codifica los valores como cadenas con formato. Esta configuración facilita el consumo en sistemas posteriores, pero pierde información semántica sobre el tipo numérico original.
    • Modo de instantánea: especifique los criterios para realizar una instantánea cuando se inicie el conector:
      • Initial: el conector ejecuta una instantánea solo cuando no se han registrado desplazamientos para el nombre del servidor lógico o si detecta que no se pudo completar una instantánea anterior. Una vez completada la instantánea, el conector comienza a transmitir registros de eventos para los cambios posteriores de la base de datos.
      • InitialOnly: El conector ejecuta una instantánea solo cuando no se han registrado offsets para el nombre del servidor lógico. Una vez completada la instantánea, el conector se detiene. No realiza la transición al streaming para leer los eventos de cambio del binlog.
      • NoData: el conector ejecuta una instantánea que captura solo el esquema, pero no ningún dato de tabla. Establezca esta opción si no necesita una instantánea coherente de los datos, pero solo necesita los cambios que se producen desde que se inicia el conector.
    • Lista de exclusión de columnas: especifica las columnas que se van a excluir de los valores de evento de cambio mediante nombres completos (schemaName.tableName.columnName).
    • Aplicación de base de datosIntent: determina el comportamiento de enrutamiento en grupos de disponibilidad AlwaysOn de SQL Server:
      • ReadWrite: se conecta a la réplica principal. Use esta opción si la conexión necesita realizar operaciones de lectura y escritura.
      • ReadOnly: Permite el direccionamiento a una réplica secundaria legible para operaciones en modo de solo lectura. Utilícelo para habilitar CDC directamente en las réplicas. Requiere establecer snapshot.isolation.mode en snapshot, que es el único modo de aislamiento de transacción admitido para las réplicas de solo lectura.
    • Invalidación de instrucción select de instantánea: use la propiedad si desea que una instantánea incluya solo un subconjunto de las filas de una tabla. Esta propiedad solo afecta a las instantáneas. No se aplica a los eventos que el conector lee del registro.

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 Fabric workspace donde desea crear el eventstream.

      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 la página 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 presenta el CDC de Azure SQL Database. 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. En Workspace (Área de trabajo), 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, seleccione Agregar (Eventstream) o Conectar (centro en tiempo real).

    Captura de pantalla que muestra la página de revisión y conexión del origen CDC de Azure SQL Database.

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

  7. Seleccione el nodo eventstream en el centro y cambie a la pestaña Esquemas asociados en el panel inferior.

    Captura de pantalla que muestra la ventana Esquema asociado en el panel inferior.

Conjunto de esquemas

  1. Vaya al área de trabajo que seleccionó en el paso anterior. En el ejemplo siguiente, es Mi área de trabajo.

  2. Seleccione el conjunto de esquemas que creó el conector de Azure SQL Database (CDC).

    Captura de pantalla que muestra el conjunto de esquemas generado en la página Mi área de trabajo.

  3. Verá los esquemas en el conjunto de esquemas como se muestra en la imagen siguiente.

    Captura de pantalla que muestra esquemas en el conjunto de esquemas generado.

  4. Para ver la versión JSON del esquema, cambie a la vista esquema JSON .

    Captura de pantalla que muestra la vista de esquema JSON.

    No cambie estos esquemas detectados con este editor, ya que se convierten en incompatibles con el esquema de tablas en el origen de base de datos de Azure SQL.

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.

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

Nota:

DeltaFlow (versión preliminar) se admite actualmente con los conectores de origen de CDC de Azure SQL Database, CDC de Azure SQL Managed Instance, CDC de SQL Server en máquina virtual (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 de los detalles del flujo de datos

  1. En la página Revisar y conectar, si selecciona Abrir secuencia de eventos, el asistente abrirá la secuencia de eventos que creó para usted con el origen de Azure SQL Database CDC seleccionado. Para cerrar el asistente, seleccione Finalizar en la parte inferior de la página.

    Captura de pantalla que muestra la página Revisar y conectar después de crear correctamente el origen.

  2. Debería ver el flujo de datos en la sección de Datos de streaming recientes de la página principal del hubReal-Time. Para obtener pasos detallados, consulte Visualización de los detalles de los flujos de datos en el centro en tiempo real de Fabric.

Para obtener información sobre cómo consumir flujos de datos, vea los artículos siguientes: