Partager via


Synchronisation des données

Parfois, vous devez synchroniser et intégrer des données Microsoft Dataverse à des données stockées dans d’autres systèmes. Les modèles d’intégration de données courants incluent la prise de données à partir d’un système externe et son envoi (push) dans Dataverse, la prise de données de Dataverse et sa synchronisation vers un magasin de données externe ou la mise à jour de Dataverse avec des données externes. Dataverse fournit plusieurs fonctionnalités pour faciliter l’écriture de code pour réaliser ces scénarios.

Ces fonctionnalités peuvent être utilisées séparément si nécessaire dans n’importe quelle situation, mais elles traitent ensemble des problèmes courants liés à la synchronisation et à l’intégration de données avec des données externes.

Activer toutes les opérations avec Update

Dataverse a un certain nombre de messages spécialisés pour des opérations spécifiques qui mettent à jour les enregistrements. Ces messages ont été déconseillés et vous devez maintenant simplement utiliser Update pour effectuer les mêmes opérations. Les messages déconseillés sont :

  • Assign
  • SetParentSystemUser
  • SetParentTeam
  • SetParentBusinessUnit
  • SetBusinessEquipment
  • SetBusinessUnit
  • SetState

La simple mise à jour des enregistrements est beaucoup plus simple que d’utiliser ces messages et doit optimiser votre développement pour les scénarios d’intégration et de synchronisation des données.

Pour plus d’informations : Comportement des opérations de mise à jour spécifiques

Clés secondaires

Dans les déploiements d’entreprise de Dataverse, il est courant que les données provenant de systèmes externes soient chargées dans Dataverse afin qu’elles puissent être présentées aux utilisateurs. Ces systèmes externes ne peuvent souvent pas être étendus pour stocker les identificateurs de clé primaire GUID de l’enregistrement Dataverse pour synchroniser les données de manière efficiente entre les systèmes. Une solution courante consiste à ajouter une colonne personnalisée à une table dans Dataverse qui peut être utilisée pour stocker l’identificateur de l’enregistrement associé dans le système externe. Parfois, plusieurs colonnes doivent être créées pour établir une référence unique.

Lorsque vous générez des processus de chargement de données qui mettent à jour les enregistrements dans Dataverse et attribuent des références à des enregistrements associés, vous devez d’abord effectuer un appel de service web Dataverse supplémentaire pour récupérer l’enregistrement cible en fonction de cet identificateur externe. Cette recherche peut être lente si un index approprié n’est pas en place pour la colonne personnalisée et dans les scénarios Dataverse, chacune de ces recherches nécessite un aller-retour coûteux. Ces allers-retours supplémentaires peuvent augmenter d’un ordre de grandeur le temps nécessaire pour mettre à jour chaque enregistrement et réduire considérablement le débit global.

À l’aide de clés alternatives, les opérations de service web peuvent cibler un enregistrement Dataverse à l’aide d’une ou plusieurs clés alternatives au lieu d’une clé primaire GUID. En outre, les références de table aux enregistrements associés peuvent être spécifiées à l’aide d’une ou plusieurs clés alternatives. Étant donné que d’autres clés sont indexées, les opérations de recherche affichent des performances accrues par rapport à l’ajout d’une colonne personnalisée en tant qu’identificateur. En cas de problème, le système génèrera une erreur et restaurera toutes les modifications.

Plus d’informations :

Upsert

Lors du chargement de données dans Dataverse à partir d’un système externe, vous ne savez peut-être pas si un enregistrement existe déjà dans Dataverse et doit être mis à jour ou si vous devez créer un enregistrement. Upsert est une combinaison de mise à jour et d’insertion, qui permet au serveur de détecter si un enregistrement existe ou non, puis d’appliquer l’opération Update ou Create appropriée dans Dataverse. Pour plus d’informations : Utilisation de Upsert pour insérer ou mettre à jour un enregistrement

Le tableau suivant compare la complexité de la synchronisation des données avec et sans ces fonctionnalités.

Avant Descriptif
Mettre à jour à l’aide des messages spécialisés. Pour chaque enregistrement :

1. Interrogez Dataverse pour voir si le compte existe. S’il existe, obtenez son ID de compte (par exemple, ABC123)
2. Interrogation des contacts pour vérifier que le contact existe bien. S’il existe, obtenez l’ID de messagerie du contact (par exemple, contact@company.com).
3. Interrogation pour créer une requête pour obtenir ou définir l’ID de région (par exemple, NW).
4. Interrogation pour obtenir l’ID utilisateur pour définir le propriétaire (par ex. user@mycompany.com)
5. Mise à jour du compte.
6. Définir l’état du compte en appelant l’API SetState.
7. Assigner le propriétaire en appelant l’API Assign.

Avec ces fonctionnalités, il suffit d’appeler le serveur pour effectuer les mêmes opérations que celles indiquées précédemment.

Après Descriptif
Mettre à jour à l’aide d’UpdateRequest. Un simple appel pour vérifier qu’il existe un compte avec l’ID unique ABC123, définir le contact principal contact@company.com, définir la région NO, définir le propriétaire user@mycompany.com et le statut actif.

Suivi des modifications

La fonctionnalité de suivi des modifications de Microsoft Dataverse vous permet de préserver la synchronisation des données efficacement en détectant les données qui ont changé depuis leur extraction initiale ou leur dernière synchronisation. Le suivi des modifications n’est pas seulement utilisé pour synchroniser des données avec des systèmes externes, il est également requis pour plusieurs fonctionnalités Power Platform et Dataverse telles qu’Azure Synapse Link pour Dataverse et Mobile hors connexion.

Plus d’informations :

Contenu de la section

Utilisation d’une clé secondaire pour référencer un enregistrement
Utiliser Upsert pour créer ou mettre à jour un enregistrement
Utiliser le suivi des modifications pour synchroniser les données avec les systèmes externes

Exemple de code

Exemple : insérer ou mettre à jour un enregistrement à l'aide de Upsert
Exemple : synchroniser des données avec les systèmes externes à l'aide du suivi des modifications

Définir des clés alternatives pour la table
Comportement des opérations de mise à jour spécialisées