Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article explique comment ajouter une source de capture de données modifiées (CDC) Azure SQL Database à un flux d’événements.
Le connecteur source de capture de données modifiées de la base de données Azure SQL pour les flux d'événements Microsoft Fabric vous permet de capturer un 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 flux d’événements, 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.
Remarque
Avec DeltaFlow (Aperçu), vous pouvez transformer des événements de capture de données modifiées bruts de Debezium en flux prêts pour l'analytique qui reflètent la structure de votre table source. DeltaFlow automatise l’inscription de schéma, la gestion des tables de destination et la gestion de l’évolution des schémas. Pour utiliser DeltaFlow, choisissez les événements prêts pour l’analytique et le schéma mis à jour automatiquement pendant l’étape de gestion du schéma.
Prérequis
- Accès à un espace de travail en mode de licence de capacité Fabric ou en mode de licence d'essai avec des autorisations de type Contributeur 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 publiquement et ne pas se trouver derrière un pare-feu ou sécurisé dans un réseau virtuel. S’il réside dans un réseau protégé, connectez-vous à celui-ci à l’aide de l’injection de réseau virtuel du connecteur Eventstream.
- Activation de la capture de données modifiées 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.
Remarque
N'activez pas la mise en miroir dans votre base de données Azure SQL.
Activer le Change Data Capture (CDC) dans votre base de données Azure SQL
Accédez au portail Azure, ouvrez votre base de données Azure SQL, puis sélectionnez Éditeur de requête. Choisissez une méthode d’authentification pour vous connecter.
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
- Si vous n’avez pas de flux d’événements, créez un flux d’événements.
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 Connecter des sources de données . Vous pouvez également sélectionner Ajouter une source>Connecter des sources de données dans le ruban.
Si vous ajoutez la source à un flux d’événements déjà publié, basculez vers le mode Édition. Sur le ruban, sélectionnez Ajouter une source>Connecter des sources de données.
Dans la page Select a data source page, recherchez et sélectionnez Connect sur la vignette Azure SQL DB (CDC).
Configurer et se connecter à Azure SQL Database pour la CDC (capture de données modifiées)
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.
Remarque
DeltaFlow (préversion) : lorsque vous sélectionnez des événements prêts pour l’analytique et un schéma mis à jour automatiquement à l’étape de gestion des schémas, DeltaFlow transforme les événements CDC bruts de Debezium en flux prêts pour l’analytique qui reflètent votre structure de table source. DeltaFlow automatise également la création de tables de destination et la gestion de l’évolution du schéma.
Sur la page Connecter, sélectionnez Nouvelle connexion.
Dans la section Connexion, entrez les valeurs suivantes pour votre base de données Azure SQL :
Server : Entrez le nom du serveur Azure SQL à partir du portail Azure. C’est sous cette forme :
mysqlservername.database.windows.net.Database : Entrez le nom de la base de données Azure SQL à partir du portail Azure.
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 Basic.
Entrez le nom d'utilisateur et le mot de passe de la base de données.
Sélectionnez Connecter.
À 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 pardbo.test. - Permet
dbo\.(test1|test2)de sélectionnerdbo.test1etdbo.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.
- Permet
Vous pouvez afficher les paramètres avancés pour accéder à d’autres options de configuration pour la source CDC Azure SQL Database :
- 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, JavaBigDecimal) 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 en mode streaming pour lire les événements de modification 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 que vous avez uniquement besoin des modifications 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).
-
Database applicationIntent : détermine le comportement de routage dans les groupes de disponibilité Always On de SQL Server :
-
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. Cela ne s’applique pas aux événements que le connecteur lit dans le journal.
- Mode de gestion des décimales : définit la façon dont le connecteur gère les valeurs des colonnes et
Flux ou détails de la source
Dans la page Se connecter , suivez l’une de ces étapes en fonction de l’utilisation d’Eventstream ou de Real-Time hub.
Flux d’événements :
Dans le volet Détails de la source à droite, procédez comme suit :
Pour le nom de la source, sélectionnez l'icône du crayon pour modifier le nom.
Notez que le nom eventstream et le nom stream sont en lecture seule.
Hub en temps réel :
Dans la section Détails du flux à droite, procédez comme suit :
Sélectionnez l’espace de travail Fabric où vous souhaitez créer le flux d’événements.
Pour le flux d'événements, sélectionnez le bouton Crayon et entrez un nom pour le flux d'événements.
La valeur du nom du flux est générée automatiquement pour vous en ajoutant -stream au nom de l’événementstream. Ce flux s’affiche sur la page Tous les flux de données du hub en temps réel une fois que l’Assistant est terminé.
Sélectionnez Suivant en bas de la page Configurer .
Vérifier et se connecter
Dans l’écran Vérifier + se connecter , passez en revue le résumé, puis sélectionnez Ajouter (Eventstream) ou Se connecter (Real-Time hub).
Page Gestion des schémas
Dans la page gestion des schémas , choisissez l’une des options suivantes :
- Événements prêts à l’analytique et schéma mis à jour automatiquement (préversion DeltaFlow) : le connecteur transforme les événements CDC bruts en flux prêts pour l’analytique qui reflètent la structure de votre table source. DeltaFlow enrichit les événements avec des métadonnées telles que le type de modification (insertion, mise à jour ou suppression) et les horodatages, et gère automatiquement les tables de destination et l’évolution du schéma.
- Événements CDC bruts : le connecteur ingère et rend disponibles les événements CDC bruts. Si vous le souhaitez, le connecteur peut découvrir automatiquement des schémas de table et les inscrire dans le registre de schémas. Utilisez cette option lorsque vous souhaitez connaître le schéma sans transformation DeltaFlow.
Remarque
La capture d’écran suivante montre Azure SQL Database capture de données modifiées. Les options de gestion des schémas sont identiques pour tous les connecteurs sources CDC pris en charge.
Activer l’association de schéma d’événement.
Pour Workspace, sélectionnez un espace de travail Fabric pour le jeu de schémas.
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.
Si vous avez sélectionné l’option + Créer à l’étape précédente, entrez un nom pour le jeu de schémas.
Dans la page Vérifier + se connecter , sélectionnez Ajouter (Eventstream) ou Se connecter (Real-Time hub).
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.
Sélectionnez le nœud eventstream au milieu, puis basculez vers l’onglet Schémas associés dans le volet inférieur.
Jeu de schémas
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.
Sélectionnez le jeu de schémas créé par le connecteur Azure SQL Database (CDC).
Vous voyez les schémas dans le jeu de schémas, comme illustré dans l’image suivante.
Pour afficher la version JSON du schéma, basculez vers 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.
DeltaFlow : transformation d'événements prête pour l'analyse (aperçu)
Lorsque vous activez les événements prêts pour l’analytique et le schéma mis à jour automatiquement (DeltaFlow), le connecteur fournit les fonctionnalités suivantes :
Forme d’événement prête pour l’analytique : les événements bruts de capture de données modifiées de Debezium sont transformés en un format tabulaire qui reflète la structure de la table source. Les événements sont enrichis avec des colonnes de métadonnées, notamment le type de modification (
insert,updateoudelete) et l’horodatage des événements.Gestion automatique des tables de destination : lorsque vous routez des flux deltaFlow vers une destination prise en charge comme un eventhouse, les tables de destination sont automatiquement créées pour correspondre au schéma de table source. Vous n’avez pas besoin de créer ou de configurer manuellement des tables de destination.
Gestion de l’évolution du schéma : lorsque les tables de base de données sources changent (par exemple, les nouvelles colonnes sont ajoutées ou des tables sont créées), DeltaFlow détecte automatiquement les modifications, met à jour les schémas inscrits et ajuste les tables de destination en conséquence. Cette option réduit l’intervention manuelle causée par les modifications de schéma.
Remarque
DeltaFlow (préversion) est actuellement pris en charge avec les connecteurs de sources Azure SQL Database CDC, Azure SQL Managed Instance CDC, SQL Server sur machine virtuelle CDC, et PostgreSQL CDC.
Pour plus d’informations sur la façon dont DeltaFlow transforme les événements CDC bruts en sortie prête pour l’analytique, y compris les types d’opérations et les colonnes de métadonnées, consultez la transformation de sortie DeltaFlow.
Afficher le flux d’événements mis à jour
Vous pouvez voir la source Azure SQL Database (CDC) ajoutée à votre flux d’événements en mode Edit.
Pour implémenter cette source ajoutée de capture de données modifiées Azure SQL Database, sélectionnez Publish. Une fois ces étapes terminées, votre source CDC Azure SQL Database est disponible pour la visualisation dans la vue en direct Live.
Configurer des destinations Eventstream pour utiliser des schémas
Actuellement, seules les destinations de type Eventhouse, de point de terminaison personnalisé et de flux dérivés sont prises en charge pour les flux d'événements avec des schémas associés. 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.
Remarque
Lorsque vous utilisez DeltaFlow (préversion) avec une source de capture de données modifiées (CDC) prise en charge, les tables de destination dans Eventhouse sont créées et gérées automatiquement pour correspondre à la structure de la table source. Vous n’avez pas besoin de configurer manuellement le schéma de table de destination. DeltaFlow gère également l’évolution du schéma automatiquement lorsque les tables sources changent.
Configurer un schéma pour une destination de point de terminaison personnalisée
Sélectionnez Transformer des événements ou ajouter une destination, puis sélectionnez CustomEndpoint.
Dans le volet Point de terminaison personnalisé , spécifiez un nom pour la destination.
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.
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
Sélectionnez Transformer des événements ou ajouter une destination, puis sélectionnez Eventhouse.
Dans le volet Eventhouse , configurez les paramètres liés au schéma suivants :
Pour le schéma d’entrée, sélectionnez un ou plusieurs schémas dans la liste déroulante.
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.
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.
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,typeetdata.
Pour obtenir des instructions détaillées sur la configuration d’une destination eventhouse, consultez Ajouter une destination eventhouse à un flux d’événements.
Afficher la sortie prête pour l'analyse DeltaFlow (aperçu)
Si vous avez activé les événements prêts pour l’analytique et le schéma mis à jour automatiquement (DeltaFlow), les tables de destination sont automatiquement créées dans une forme qui reflète vos tables de base de données source. Chaque table inclut les colonnes d’origine ainsi que les colonnes de métadonnées pour le type de modification et l’horodatage.
Vous pouvez interroger ces tables à l’aide du langage de requête Kusto (KQL) ou d’autres outils d’analyse, sans avoir à analyser les charges utiles brutes de CDC (capture de données modifiées) Debezium.
::: zone-end
Contenu connexe
Voici d’autres connecteurs :
- Flux de données Amazon Kinesis
- Azure Cosmos DB
- Azure Event Hubs
- Azure Service Bus
- Azure IoT Hub
- Confluent Kafka
- Point de terminaison personnalisé
- Google Cloud Pub/Sub
- CDC de la base de données MySQL
- CDC de la base de données PostgreSQL
- Exemples de données
- Azure Blob Storage événements
- Événement Fabric Workspace