Diffuser des données depuis Microsoft Dataverse

Datastream vous permet de répliquer les données historiques et les modifications incrémentielles d'un environnement Microsoft Dataverse pour l'analyse et l'intégration des données. Dataverse est une plate-forme de données dans le cloud permettant de stocker et de gérer les données utilisées par les applications d'entreprise.

Avant de configurer une source Dataverse, consultez les termes clés, le comportement de réplication, les versions compatibles et les limites connues dans Datastream.

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 d'une table. Elle est semblable à une ligne dans les bases de données relationnelles.

Comportement

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

Lors de la réplication de 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/. Les 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 d'identité Microsoft.
  • Découverte de schémas : les schémas Dataverse sont dynamiques. Datastream découvre les noms et les schémas d'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 de 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 de données :

    • Datastream réplique les tables Dataverse standards et personnalisées. Il exclut les tables virtuelles et privées.
    • Remplissage historique : s'il est configuré pour un flux, Datastream réplique toutes les données historiques des tables incluses. Pour ce faire, une requête GET initiale est envoyée à l'ensemble d'entités, et toutes les pages sont parcourues à 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, elle utilise la synchronisation basée sur l'horodatage, en filtrant les enregistrements où le champ modifiedon est supérieur à l'heure de la dernière synchronisation ($filter=modifiedon gt [last_sync_timestamp]). Datastream ne capture pas les événements de suppression.
  • Intervalle d'interrogation : Datastream recherche les modifications en fonction de l'intervalle d'interrogation que vous avez défini lors de la création de 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 backfill complet.

Versions

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

Limitations connues

Voici quelques-unes des limites connues de l'utilisation de Dataverse comme source :

  • 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 requise pour les extractions incrémentielles ultérieures n'est pas possible.
  • 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 avec précision 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 requêtes de données doivent inclure l'en-tête Prefer: data.include-annotations="*", et pas seulement les valeurs entières.

Étapes suivantes