Compartir a través de


Añadir origen de CDC de Azure SQL Database 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 Database a una secuencia de eventos.

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.

Requisitos previos

  • Acceso a un área de trabajo en el modo de licencia de capacidad de Fabric (o) el modo de licencia de prueba con los permisos 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 de acceso público y no estar detrás de un firewall o protegida en una red virtual.
  • 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.
  • Si no tienes una secuencia de eventos, crea una.

Tenga en cuenta que no debe habilitar la creación de reflejos 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
    

Iniciar el Asistente para seleccionar un origen de datos

Si aún no ha agregado ningún origen a la secuencia de eventos, seleccione el icono Usar origen externo .

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>Fuentes externas.

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

En la página Seleccionar un origen de datos, busca y selecciona Conectar en el icono Azure SQL DB (CDC).

Captura de pantalla en el que se muestra la selección de Azure SQL DB (CDC) como tipo de origen en el asistente para obtener eventos.

Configuración y conexión a la CDC de la base de datos de Azure SQL

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

    Captura de pantalla que muestra la página Conectar del asistente para obtener eventos con el vínculo **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 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 opciones de configuración adicionales 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).
    • ApplicationIntent de base de datos: determina el comportamiento de enrutamiento en grupos de disponibilidad AlwaysOn de SQL Server:
      • ReadWrite: se conecta a la réplica principal. Úselo 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.
  7. Seleccione Siguiente.

    Captura de pantalla que muestra la página Conectar del asistente para Obtener eventos rellenada.

  8. En la pantalla Revisar y crear, revise el resumen y, a continuación, seleccione Agregar.

    Captura de pantalla que muestra la página Revisar y crear del asistente para Obtener eventos rellenada.

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.

  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 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 opciones de configuración adicionales 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).
    • ApplicationIntent de base de datos: determina el comportamiento de enrutamiento en grupos de disponibilidad AlwaysOn de SQL Server:
      • ReadWrite: se conecta a la réplica principal. Úselo 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.
  7. Habilite la asociación del esquema de eventos.

  8. En Workspace (Área de trabajo), seleccione un área de trabajo de Fabric para el conjunto de esquemas.

  9. 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.

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

    Captura de pantalla que muestra la configuración de esquema para un origen CDC de Azure SQL Database.

  11. En la página Revisar y conectar, seleccione Agregar.

    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.

  12. 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.

Visualización del flujo de eventos actualizado

  1. Puede ver la fuente de Azure SQL Database (CDC) agregada a la secuencia de eventos en Modo de edición.

    Captura de pantalla del streaming del origen CDC de Azure SQL Database en la vista de Editar.

  2. Para implementar este origen de CDC de Azure SQL Database recién agregado, seleccione Publicar. Después de completar estos pasos, el origen de CDC de Azure SQL Database está disponible para su visualización en la Vista en vivo.

    Captura de pantalla del streaming del origen CDC de Azure SQL Database en la Vista en vivo.

Configuración de destinos de eventstream para usar esquemas

Actualmente, solo el centro de eventos, el punto de conexión personalizado y los destinos de flujo derivados son compatibles con las secuencias de eventos con características extendidas habilitadas. En esta sección se muestra cómo agregar y configurar un destino de centro de eventos cuando se habilitan las características extendidas (como la compatibilidad con esquemas) para la secuencia de eventos.

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.

Otros conectores: