Diffuser des données depuis Microsoft Dataverse

Datastream permet de répliquer les événements de modification à partir d'une instance Microsoft Dataverse. Dataverse est une plate-forme de données basée dans le cloud qui vous permet de stocker et de gérer de manière sécurisée les données utilisées par les applications métier.

Cette page contient des informations sur les éléments suivants :

  • Termes clés à comprendre lorsque vous répliquez des données depuis Dataverse.
  • Comportement de Datastream concernant la gestion des données extraites d'un environnement Dataverse source.
  • Versions de Dataverse compatibles avec Datastream.
  • Limites connues de l'utilisation de Dataverse comme source.

Termes clés

Dataverse fonctionne selon les concepts suivants :

  • Une table, anciennement appelée entité, est semblable à une table dans les bases de données relationnelles. Dataverse inclut des tables standards par défaut, mais vous pouvez également créer des tables personnalisées.
  • Une colonne, anciennement appelée champ, est un attribut d'une table. Elle est semblable à une colonne dans les bases de données relationnelles.
  • Une ligne est un enregistrement spécifique dans une table. Elle est semblable à une ligne dans les bases de données relationnelles.

Comportement

La compatibilité de la source Dataverse dans Datastream repose sur l'API Web Dataverse, qui utilise le protocole OData (Open Data Protocol). Datastream interroge les sources pour détecter les modifications en fonction de l'intervalle que vous définissez.

Lorsque vous répliquez des données à partir d'une source Dataverse, le comportement suivant est observé :

  • Interaction avec l'API : Datastream interagit avec l'API Web Dataverse à l'aide de requêtes RESTful. L'URL de l'environnement de base est https://ORGANIZATION_ID.crm.dynamics.com/api/data/v9.1/. Des en-têtes standards (Accept: application/json, OData-MaxVersion: 4.0, OData-Version: 4.0) sont utilisés.
  • Authentification : Datastream gère l'authentification à l'aide d'OAuth 2.0 avec le type d'attribution des identifiants client. Datastream obtient des jetons de la plate-forme Microsoft Identity.
  • Découverte du schéma : les schémas Dataverse sont dynamiques. Datastream découvre les noms et les schémas des objets en interrogeant le point de terminaison /EntityDefinitions.

    • Noms d'objets : Datastream récupère les noms d'objets en envoyant une requête GET au chemin d'accès de l'ensemble d'entités /EntityDefinitions avec le filtre $filter=TableType ne 'Virtual' and IsPrivate eq false et le paramètre $select=EntitySetName.
    • Schéma d'objet : Datastream récupère le schéma d'objet par entité en envoyant une requête GET au chemin d'accès à l'ensemble d'entités /EntityDefinitions avec le paramètre $expand=Attributes($select=LogicalName,AttributeType,AttributeTypeName) et le filtre $filter=EntitySetName eq '[objectName]'.
  • Réplication des données :

    • Datastream réplique les tables Dataverse standards et personnalisées. Elle exclut les tables virtuelles et privées.
    • Remplissage historique : si cette option est configurée pour un flux, Datastream réplique toutes les données historiques des tables incluses. Pour ce faire, envoyez une requête GET initiale à l'ensemble d'entités et parcourez toutes les pages à l'aide de la propriété @odata.nextLink fournie dans les réponses de l'API. L'en-tête Prefer: odata.maxpagesize=5000 est utilisé.
    • Synchronisation incrémentielle : Datastream réplique les événements d'insertion et de mise à jour. Pour ce faire, il utilise la synchronisation basée sur le code temporel et filtre les enregistrements dont le champ modifiedon est supérieur à la dernière heure de synchronisation ($filter=modifiedon gt [last_sync_timestamp]). Datastream ne capture pas les événements de suppression.
  • Intervalle d'interrogation : Datastream interroge les modifications en fonction de l'intervalle d'interrogation que vous avez défini lorsque vous avez créé votre flux. L'intervalle est reflété dans la métrique de fraîcheur des données du flux.

Tous les objets répliqués sont compatibles avec la synchronisation incrémentielle (à l'aide du champ modifiedon) et le remplissage complet.

Versions

Datastream utilise la version 9.1 de l'API Web Dataverse.

Limitations connues

Les limites connues d'utilisation de Dataverse en tant que source incluent les suivantes :

  • La méthode de synchronisation incrémentielle, basée sur le code temporel modifiedon, ne capture pas les événements de suppression.
  • Datastream n'est pas compatible avec la fonctionnalité de suivi des modifications recommandée par Dataverse, qui utilise des liens delta (@odata.deltaLink). En effet, le stockage de l'URL du lien delta requis pour les extractions incrémentielles ultérieures n'est pas pris en charge.
  • La réplication est limitée aux tables standards et personnalisées. Les tables virtuelles et privées ne sont pas acceptées.
  • Il est essentiel de mettre à jour précisément le champ modifiedon dans les tables sources pour que la synchronisation incrémentielle fonctionne comme prévu.
  • Pour récupérer les libellés des champs Picklist, les demandes de données doivent inclure l'en-tête Prefer: data.include-annotations="*", et pas seulement les valeurs entières.

Étapes suivantes