Partager via


Ajouter une source CDC de la base de données Azure SQL à un Eventstream

Cet article vous montre comment ajouter une source de capture des changements de données (CDC) e la dB d’Azure Cosmos à un Eventstream.

Le connecteur source CDC Azure SQL Database pour les Eventstreams Microsoft Fabric vous permet de capturer une instantané des données actuelles dans une base de données Azure SQL. Le connecteur surveille et enregistre ensuite les modifications futures au niveau des lignes apportées à ces données. Une fois les modifications capturées dans le Eventstreams, vous pouvez traiter ces données CDC en temps réel et les envoyer à différentes destinations au sein de Fabric pour un traitement ou une analyse plus approfondis.

Prérequis

  • Accès à un espace de travail en mode licence de capacité Fabric ou en mode licence d’évaluation avec des autorisations Collaborateur ou supérieures.
  • Un serveur Azure SQL en cours d’exécution avec une base de données Azure SQL.
  • Votre base de données Azure SQL doit être accessible au public et ne doit ni se trouver derrière un pare-feu, ni être sécurisée dans un réseau virtuel.
  • La CDC est activée dans votre base de données Azure SQL en exécutant la procédure stockée sys.sp_cdc_enable_db. Pour plus d’informations, consultez Activation et désactivation de la capture des changements de données.
  • Si vous n’avez pas de flux d’événements, créez un flux d’événements.

Notez que vous ne devez pas activer la mise en miroir dans votre base de données Azure SQL.

Activer la CDC dans votre base de données Azure SQL

  1. Accédez au portail Azure, ouvrez votre base de données Azure SQL et sélectionnez Éditeur de requête. Choisissez une méthode d’authentification pour vous connecter.

    Une capture d’écran de l’ouverture de la base de données Azure SQL.

  2. Exécutez les commandes SQL suivantes pour activer la capture des changements de données dans votre base de données :

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

Lancer l’assistant Sélectionner une source de données

Si vous n’avez pas encore ajouté de source à votre flux d’événements, sélectionnez la vignette Utiliser la source externe .

Capture d’écran montrant la sélection de la vignette pour l’utilisation d’une source externe.

Si vous ajoutez la source à un flux d’événements déjà publié, basculez vers le mode Édition. Dans le ruban, sélectionnez Ajouter> dessources externes.

Capture d’écran montrant les sélections pour l’ajout de sources externes.

Sur la page Sélectionner une source de données, recherchez et sélectionnez Se connecter dans la vignette Base de données Azure SQL (CDC).

Capture d’écran montrant la sélection de la base de données Azure SQL (CDC) comme type de source dans l’Assistant Obtenir les événements.

Configurer une CDC de la base de données Azure SQL et s’y connecter

  1. Sur la page Connecter, sélectionnez Nouvelle connexion.

    Capture d’écran montrant la page Connecter de l’Assistant Obtenir les événements avec le lien ** Nouvelle connexion** en surbrillance.

  2. Dans la section paramètres de connexion, saisissez les valeurs suivantes pour votre base de données Azure SQL :

    • Serveur : Saisissez le nom du serveur Azure SQL à partir du portail Azure. C’est sous cette forme : mysqlservername.database.windows.net.

    • Base de données : saisissez le nom de la base de données Azure SQL à partir du portail Azure.

      Capture d’écran montrant la section Paramètres de connexion de la page Nouvelle connexion.

  3. Faites défiler vers le bas et, dans la section Identifiants de connexion, suivez les étapes suivantes :

    • Dans le champ Nom de la connexion, saisissez un nom pour la connexion.

    • Pour le type d’authentification, sélectionnez De base.

      Remarque

      Actuellement, Fabric Eventstream prend uniquement en charge l’authentification de base .

    • Entrez le nom d'utilisateur et le mot de passe de la base de données.

  4. Sélectionnez Connecter.

    Capture d’écran montrant la section Identifiants de la page Nouvelle connexion.

  5. À présent, dans la page Connexion , sélectionnez Toutes les tables ou Entrez le ou les noms de table. Si vous sélectionnez ce dernier, spécifiez des tables à l’aide d’une liste séparée par des virgules d’identificateurs de table complets (schemaName.tableName) ou d’expressions régulières valides. Par exemple:

    • Permet dbo.test.* de sélectionner toutes les tables dont les noms commencent par dbo.test.
    • Permet dbo\.(test1|test2) de sélectionner dbo.test1 et dbo.test2.

    Vous pouvez combiner les deux formats à l’aide de virgules. La limite de caractères totale de l’entrée entière est de 102 400 caractères.

  6. Vous pouvez déployer les paramètres avancés pour accéder à des options de configuration supplémentaires pour la source CDC de la base de données Azure SQL.

    • Mode de gestion des décimales : définit la façon dont le connecteur gère les valeurs des colonnes et DECIMAL.
      • Precise: représente des valeurs utilisant des types décimaux exacts (par exemple, Java BigDecimal) pour garantir une précision et une précision complètes dans la représentation des données.
      • Double: convertit les valeurs en nombres à virgule flottante de double précision. Ce paramètre améliore la facilité d’utilisation et les performances, mais peut entraîner une perte de précision.
      • String: encode les valeurs sous forme de chaînes mises en forme. Ce paramètre facilite l’utilisation dans les systèmes en aval, mais perd des informations sémantiques sur le type numérique d’origine.
    • Mode instantané : spécifiez les critères d’exécution d’un instantané au démarrage du connecteur :
      • Initial: le connecteur exécute un instantané uniquement lorsqu’aucun décalage n’a été enregistré pour le nom du serveur logique, ou s’il détecte qu’un instantané antérieur n’a pas pu être terminé. Une fois l’instantané terminé, le connecteur commence à diffuser en continu les enregistrements d’événements pour les modifications de base de données suivantes.
      • InitialOnly: le connecteur exécute un instantané uniquement quand aucun décalage n’a été enregistré pour le nom du serveur logique. Une fois que l’instantané est terminé, le connecteur s’arrête. Il ne passe pas à la diffusion en continu pour lire les événements de modification à partir du binlog.
      • NoData: le connecteur exécute un instantané qui capture uniquement le schéma, mais pas les données de table. Définissez cette option si vous n'avez pas besoin d'un instantané cohérent des données, mais seulement des modifications apportées depuis le démarrage du connecteur.
    • Liste d’exclusion de colonnes : spécifie les colonnes à exclure des valeurs des événements de modification en utilisant des noms complets (schemaName.tableName.columnName).
    • Intent d'application de base de données : détermine le comportement de routage dans les groupes de disponibilité SQL Server Always On :
      • ReadWrite: se connecte au réplica principal. Utilisez cette option si la connexion doit effectuer des opérations de lecture et d’écriture.
      • ReadOnly: permet le routage vers un réplica secondaire lisible pour des opérations en lecture seule. Utilisez-le pour activer la Change Data Capture directement sur les réplicas. Il est nécessaire de configurer snapshot.isolation.mode sur snapshot, qui est le seul mode d'isolation de transactions pris en charge pour les réplicas en lecture seule.
    • Remplacement de l'instruction SELECT pour l'instantané : utilisez la propriété si vous souhaitez qu’un instantané inclut uniquement un sous-ensemble des lignes d’une table. Cette propriété affecte uniquement les instantanés. Il ne s’applique pas aux événements que le connecteur lit dans le journal.
  7. Cliquez sur Suivant.

    Capture d’écran montrant la page Connecter de l’assistant Obtenir les événements renseignée.

  8. Dans l’écran Vérifier et créer, passez en revue le résumé, puis sélectionnez Ajouter.

    Capture d’écran montrant la page Vérifier et créer de l’assistant Obtenir les événements renseignée.

Ingérer des données modifiées à partir de bases de données Azure SQL avec l’inscription automatique du schéma de table via cdc dans Eventstream.

  1. Sur la page Connecter, sélectionnez Nouvelle connexion.

    Capture d’écran montrant la page Se connecter de l’Assistant Obtenir des événements avec le lien Nouvelle connexion mis en surbrillance.

  2. Dans la section paramètres de connexion, saisissez les valeurs suivantes pour votre base de données Azure SQL :

    • Serveur : Saisissez le nom du serveur Azure SQL à partir du portail Azure. C’est sous cette forme : mysqlservername.database.windows.net.

    • Base de données : saisissez le nom de la base de données Azure SQL à partir du portail Azure.

      Capture d’écran montrant la section Paramètres de connexion de la page Nouvelle connexion.

  3. Faites défiler vers le bas et, dans la section Identifiants de connexion, suivez les étapes suivantes :

    • Dans le champ Nom de la connexion, saisissez un nom pour la connexion.

    • Pour le type d’authentification, sélectionnez De base.

      Remarque

      Actuellement, Fabric Eventstream prend uniquement en charge l’authentification de base .

    • Entrez le nom d'utilisateur et le mot de passe de la base de données.

  4. Sélectionnez Connecter.

    Capture d’écran montrant la section Identifiants de la page Nouvelle connexion.

  5. À présent, dans la page Connexion , sélectionnez Toutes les tables ou Entrez le ou les noms de table. Si vous sélectionnez ce dernier, spécifiez des tables à l’aide d’une liste séparée par des virgules d’identificateurs de table complets (schemaName.tableName) ou d’expressions régulières valides. Par exemple:

    • Permet dbo.test.* de sélectionner toutes les tables dont les noms commencent par dbo.test.
    • Permet dbo\.(test1|test2) de sélectionner dbo.test1 et dbo.test2.

    Vous pouvez combiner les deux formats à l’aide de virgules. La limite de caractères totale de l’entrée entière est de 102 400 caractères.

  6. Vous pouvez déployer les paramètres avancés pour accéder à des options de configuration supplémentaires pour la source CDC de la base de données Azure SQL.

    • Mode de gestion des décimales : définit la façon dont le connecteur gère les valeurs des colonnes et DECIMAL.
      • Precise: représente des valeurs utilisant des types décimaux exacts (par exemple, Java BigDecimal) pour garantir une précision et une précision complètes dans la représentation des données.
      • Double: convertit les valeurs en nombres à virgule flottante de double précision. Ce paramètre améliore la facilité d’utilisation et les performances, mais peut entraîner une perte de précision.
      • String: encode les valeurs sous forme de chaînes mises en forme. Ce paramètre facilite l’utilisation dans les systèmes en aval, mais perd des informations sémantiques sur le type numérique d’origine.
    • Mode instantané : spécifiez les critères d’exécution d’un instantané au démarrage du connecteur :
      • Initial: le connecteur exécute un instantané uniquement lorsqu’aucun décalage n’a été enregistré pour le nom du serveur logique, ou s’il détecte qu’un instantané antérieur n’a pas pu être terminé. Une fois l’instantané terminé, le connecteur commence à diffuser en continu les enregistrements d’événements pour les modifications de base de données suivantes.
      • InitialOnly: le connecteur exécute un instantané uniquement quand aucun décalage n’a été enregistré pour le nom du serveur logique. Une fois que l’instantané est terminé, le connecteur s’arrête. Il ne passe pas à la diffusion en continu pour lire les événements de modification à partir du binlog.
      • NoData: le connecteur exécute un instantané qui capture uniquement le schéma, mais pas les données de table. Définissez cette option si vous n'avez pas besoin d'un instantané cohérent des données, mais seulement des modifications apportées depuis le démarrage du connecteur.
    • Liste d’exclusion de colonnes : spécifie les colonnes à exclure des valeurs des événements de modification en utilisant des noms complets (schemaName.tableName.columnName).
    • Intent d'application de base de données : détermine le comportement de routage dans les groupes de disponibilité SQL Server Always On :
      • ReadWrite: se connecte au réplica principal. Utilisez cette option si la connexion doit effectuer des opérations de lecture et d’écriture.
      • ReadOnly: permet le routage vers un réplica secondaire lisible pour des opérations en lecture seule. Utilisez-le pour activer la Change Data Capture directement sur les réplicas. Il est nécessaire de configurer snapshot.isolation.mode sur snapshot, qui est le seul mode d'isolation de transactions pris en charge pour les réplicas en lecture seule.
    • Remplacement de l'instruction SELECT pour l'instantané : utilisez la propriété si vous souhaitez qu’un instantané inclut uniquement un sous-ensemble des lignes d’une table. Cette propriété affecte uniquement les instantanés. Il ne s’applique pas aux événements que le connecteur lit dans le journal.
  7. Activer l’association de schéma d’événement.

  8. Pour l’espace de travail, sélectionnez un espace de travail Fabric pour le jeu de schémas.

  9. Pour le jeu de schémas, + Créer est sélectionné par défaut, ce qui crée un jeu de schémas. Vous pouvez le modifier pour sélectionner un jeu de schémas d’événements existant.

  10. Si vous avez sélectionné l’option + Créer à l’étape précédente, entrez un nom pour le jeu de schémas.

    Capture d’écran montrant le paramètre de schéma d’une source CDC Azure SQL Database.

  11. Sur la page Vérifier + se connecter , sélectionnez Ajouter.

    Capture d’écran montrant la page révision + connexion pour la source CDC Azure SQL Database.

    Pour toutes les tables ou tables sélectionnées dans la base de données Azure SQL, le connecteur se détecte automatiquement et crée des schémas et les inscrit auprès du registre de schémas.

  12. Sélectionnez le nœud eventstream au milieu, puis basculez vers l’onglet Schémas associés dans le volet inférieur.

    Capture d’écran montrant la fenêtre de schéma associé dans le volet inférieur.

Jeu de schémas

  1. Accédez à l’espace de travail que vous avez sélectionné à l’étape précédente. Dans l’exemple suivant, il s’agit de Mon espace de travail.

  2. Sélectionnez le jeu de schémas créé par le connecteur Azure SQL Database (CDC).

    Capture d’écran montrant le jeu de schémas généré dans la page Mon espace de travail.

  3. Vous voyez les schémas dans le jeu de schémas, comme illustré dans l’image suivante.

    Capture d’écran montrant les schémas dans le jeu de schémas généré.

  4. Pour afficher la version JSON du schéma, basculez vers la vue de schéma JSON .

    Capture d’écran montrant la vue de schéma JSON.

    Ne modifiez pas ces schémas découverts à l’aide de cet éditeur, car il devient nonconfirmant avec le schéma des tables dans la source de base de données Azure SQL.

Afficher le flux d’événements mis à jour

  1. Vous pouvez voir la source de la base de données Azure SQL (CDC) ajoutée à votre Eventstream en mode Édition.

    Capture d’écran de la diffusion en continu de la source CDC de la base de données Azure SQL en mode Édition.

  2. Pour implémenter cette source de CDC de la base de données Azure SQL nouvellement ajoutée, sélectionnez Publier. Une fois ces étapes terminées, votre source de CDC de la base de données Azure SQL est disponible pour la visualisation dans l’affichage en direct.

    Capture d’écran de la source de capture des changements de données Azure SQL Database en diffusion continu en mode Direct.

Configurer des destinations eventstream pour utiliser des schémas

Actuellement, seules les destinations de flux eventhouse, de point de terminaison personnalisé et de flux dérivés sont prises en charge pour les flux d’événements avec des fonctionnalités étendues activées. Cette section vous montre comment ajouter et configurer une destination eventhouse lorsque des fonctionnalités étendues (comme la prise en charge du schéma) sont activées pour le flux d’événements.

Configurer un schéma pour une destination de point de terminaison personnalisée

  1. Sélectionnez Transformer des événements ou ajouter une destination, puis sélectionnez CustomEndpoint.

  2. Dans le volet Point de terminaison personnalisé , spécifiez un nom pour la destination.

  3. Pour le schéma d’entrée, sélectionnez le schéma pour les événements. Vous effectuez une sélection dans cette zone lorsque vous activez la prise en charge du schéma pour un flux d’événements.

Capture d’écran montrant le volet de configuration d’un point de terminaison personnalisé.

Pour obtenir des instructions détaillées sur la configuration d’une destination de point de terminaison personnalisée, consultez Ajouter un point de terminaison personnalisé ou une destination d’application personnalisée à un flux d’événements.

Configurer des schémas pour une destination Eventhouse

  1. Sélectionnez Transformer des événements ou ajouter une destination, puis sélectionnez Eventhouse.

  2. Dans le volet Eventhouse , configurez les paramètres liés au schéma suivants :

    1. Pour le schéma d’entrée, sélectionnez un ou plusieurs schémas dans la liste déroulante.

      Capture d’écran montrant le volet de configuration eventhouse avec un schéma d’entrée sélectionné.

      Remarque

      Si vous avez sélectionné le schéma dynamique via l’option d’en-têtes lors de la configuration d’une source Event Hubs, vous avez peut-être configuré plusieurs schémas pour la source et les mappés à différentes propriétés et à leurs valeurs.

    2. Pour la méthode de création de table, sélectionnez Une table unique avec tous les schémas combinés ou tables distinctes pour chaque schéma, en fonction de vos besoins.

      Capture d’écran montrant le volet de configuration eventhouse avec les méthodes de création de table.

    3. Pour écrire des données avec, sélectionnez l’une des options suivantes :

      • Charge utile uniquement : écrivez les données de charge utile extraites dans la table. S’il existe plusieurs schémas d’entrée, les données sont envoyées à plusieurs tables.
      • Métadonnées et charge utile : écrivez des métadonnées et des données de charge utile dans une table unique. Les exemples de colonnes incluent source , subject, typeet data.

      Capture d’écran montrant le volet de configuration eventhouse avec les options d’écriture de données.

Pour obtenir des instructions détaillées sur la configuration d’une destination eventhouse, consultez Ajouter une destination eventhouse à un flux d’événements.

Autres connecteurs :