Aller au contenu principal

Configurer une source de données Parquet pour l'ingestion de Microsoft Dynamics 365

info

Bêta

L'ingestion Parquet est en bêta.

Découvrez comment configurer Microsoft Dynamics 365 comme source de données pour l'ingestion dans Databricks à l'aide de Lakeflow Connect lorsque vos données sont exportées au format Parquet. Ce workflow utilise un workspace Azure Synapse Analytics et un pool Apache Spark pour exporter des tables Dataverse sous forme de tables Delta au format Parquet, puis configure l'authentification que Databricks utilise pour les lire.

remarque

Cette page couvre le workflow Parquet , qui nécessite un workspace Azure Synapse Analytics et un pool Apache Spark. L’exportation Parquet utilise l’exportation Delta Lake d’Azure Synapse Link vers ADLS Gen2, ce qui n’est pas la même chose que Microsoft Fabric Link. Le connecteur ne prend pas en charge Fabric Link. Si votre Azure Synapse Link exporte des données au format CSV, utilisez plutôt Configurer la source de données pour l’ingestion Microsoft Dynamics 365.

Pour plus d'informations sur la manière dont le connecteur accède à vos données sources, consultez Comment le connecteur accède-t-il aux données D365 ?. Pour obtenir la liste des applications Dataverse prises en charge, consultez Quelles sont les applications Dynamics 365 prises en charge ?.

Prérequis

Avant de configurer la source de données Dynamics 365, vous devez disposer des éléments suivants :

  • Un abonnement Azure actif avec les autorisations nécessaires pour créer des ressources.
  • Un environnement Microsoft Dynamics 365 avec accès administrateur.
  • Un environnement Dataverse associé à votre instance Dynamics 365.
  • Autorisations d'administrateur de workspace ou d'administrateur de métastore dans Databricks.
  • Autorisations pour créer et configurer Azure Synapse Link dans votre environnement Dataverse.
  • Autorisations pour créer un workspace Azure Synapse Analytics et un pool Apache Spark.
  • Un compte de stockage ADLS Gen2 (ou les autorisations pour en créer un).
  • Autorisations pour créer et configurer des applications Microsoft Entra ID.
  • API Dataverse v9.2 ou version ultérieure.
  • Version 2021-08-06 de l’API REST Azure Storage.
  • Azure Synapse Link for Dataverse version 1.0 ou ultérieure.

Créer un workspace Azure Synapse Analytics

Le workspace Synapse Analytics héberge le pool Apache Spark qu’Azure Synapse Link utilise pour exporter vos tables Dataverse au format Parquet.

  1. Dans le portail Azure, accédez à Azure Synapse Analytics , puis cliquez sur Créer .
  2. Sélectionnez l'abonnement, le groupe de ressources et le compte Data Lake Storage Gen2 à associer au workspace.
  3. Sélectionnez Assign myself the Storage Blob Data Contributor role on the Data Lake Storage Gen2 account to interactively query in the workspace .
  4. Sous l’onglet Sécurité , dans Méthode d’authentification , sélectionnez Utiliser uniquement l’authentification Microsoft Entra ID .
  5. Cliquez sur Review + Create , puis cliquez sur Create .
  6. Veuillez attendre la fin du déploiement avant de continuer.

Créer un pool Apache Spark

Azure Synapse Link utilise un Pool Apache Spark pour écrire les tables Delta au format Parquet exportées.

  1. Depuis la page Vue d'ensemble du Workspace, cliquez sur Nouveau pool Apache Spark .
  2. Veuillez fournir un nom pour le Pool.
  3. Pour les grands datasets, augmentez la Node size sur Large et définissez le Number of nodes sur 10 . Vous n’avez besoin d’aucun paramètre supplémentaire.
  4. Cliquez sur Review + Create , puis cliquez sur Create .

À cette étape, vous utilisez Azure Synapse Link pour choisir les tables que vous souhaitez ingérer et les exporter au format Parquet via le pool Spark.

Configurer des entités virtuelles ou des tables directes (facultatif)

Les entités virtuelles et les tables directes rendent les données provenant de sources autres que Dataverse (comme Dynamics 365 Finance & Opérations) disponibles dans Dataverse sans copier les données. Pour les sources autres que Dataverse, vous devez configurer des entités virtuelles ou des tables directes avant de configurer Azure Synapse Link.

Pour configurer des entités virtuelles :

  1. Dans Power Apps , accédez à la page Environnements , puis cliquez sur Applications Dynamics 365 .
  2. Pour Link des entités F&O en tant qu'entités virtuelles dans Dataverse, installez la solution Finance and Operations Virtual Entity .
  3. Configurez l’autorisation de service à service (S2S) entre Dataverse et votre application F&O. Grâce à cette autorisation, Dataverse peut communiquer avec votre application. Pour plus d’informations, consultez la documentation Microsoft Configurer des entités virtuelles Dataverse.
  4. Pour chaque entité virtuelle que vous souhaitez ingérer, activez Track Changes sous Advanced Properties .
  5. By default, la solution F&O Virtual Entity expose certaines entités virtuelles dans la liste des tables Dataverse. Cependant, vous pouvez exposer des entités supplémentaires manuellement :
    1. Accédez à la page Paramètres avancés de votre environnement Dataverse.
    2. Cliquez sur l’icône de filtre en haut à droite pour accéder à la recherche avancée.
    3. Sélectionnez Available Finance and Operation Entities dans le menu déroulant, puis cliquez sur Results .
    4. Sélectionnez l'entité virtuelle que vous souhaitez exposer.
    5. Sur la page Entity Admin , basculez Visible sur True , puis cliquez sur Enregistrer et fermer .

Vous pouvez désormais voir l’entité dans la liste des tables Dataverse avec un nom qui start avec mserp_.

important

Les entités virtuelles et les tables directes n’apparaissent dans Azure Synapse Link qu’une fois que Dataverse a terminé leur synchronisation. Cette opération prend généralement jusqu’à 15 minutes, mais peut prendre jusqu’à 30 minutes. Si les tables sont manquantes après 30 minutes, consultez Virtual entities not appearing in schema discovery.

  1. Accédez à make.powerapps.com et cliquez sur Tables .

  2. En haut de la page, cliquez sur Analyze , puis sur Azure Synapse Link .

  3. Cliquez sur Nouveau Link .

  4. Cochez la case Connect to your Azure Synapse Analytics workspace , puis renseignez les détails. Sélectionnez le pool Apache Spark et le compte de stockage que vous avez créés lors des étapes précédentes. Cocher cette case permet d'exporter vos données au format Parquet ; il n'y a pas d'option de format d'exportation distincte à définir.

  5. Sélectionnez la ou les tables que vous souhaitez synchroniser.

    • Si vous ingérez des données à partir d'une application native Dataverse, sélectionnez les tables Dataverse pertinentes directement dans la section Dataverse .
    • En cas d’ingestion depuis F&O, vous pouvez sélectionner des tables directes dans la section D365 Finance & Opérations ou des entités virtuelles dans la section Dataverse (préfixe mserp_). Pour plus d’informations sur les entités virtuelles, consultez Configure virtual entities or direct tables (optional).
  6. Cliquez sur Enregistrer , puis attendez que la synchronisation initiale se termine.

    Synapse Link écrit chaque table sous forme de table Delta au format Parquet sous <profileRoot>/deltalake/<tableName>/ dans le compte de stockage ADLS Gen2 associé.

  7. Pour consulter l’exportation, cliquez sur Go to Azure Synapse Analytics Workspace .

remarque

Pour les utilisateurs de F&O, cette synchronisation initiale peut prendre des heures pour les grandes tables de plusieurs centaines de gigaoctets.

Configurer l’authentification pour Databricks

Vous devez configurer l’authentification default, en fonction de votre configuration Dynamics. Dans cette étape, vous collectez l’ID Microsoft Entra et les détails de stockage nécessaires pour créer une connexion Unity Catalog, puis vous accordez à l’application Microsoft Entra l’accès aux tables Delta au format Parquet exportées.

Collecter les détails de stockage et d'Entra ID

  1. Récupérez l' ID de tenant de votre tenant Entra ID (portal.azure.com >> Microsoft Entra ID >> tab Vue d'ensemble >> ID de tenant , indiqué dans le volet de droite).
  2. Lorsque vous créez un Azure Synapse Link, Azure Synapse crée un conteneur ADLS dans le compte de stockage associé pour les tables Delta au format Parquet. Localisez le nom du conteneur ADLS en consultant la page d'administration de Synapse Link.
  3. Récupérez le nom du compte de stockage Azure du compte de stockage associé au workspace.
  4. Collectez les identifiants d'accès pour le conteneur ADLS.
    1. Créez une application Microsoft Entra ID, si vous n'en avez pas déjà une.
    2. Collectez le secret du client .
    3. Récupérez l' ID d'application (portal.azure.com >> Microsoft Entra ID >> Manage >> App Registrations ).

Accorder à l’application Entra ID l’accès au stockage

Accordez à l’application Entra ID l’accès au conteneur ADLS, si ce n’est pas déjà fait.

remarque

Vérifiez que votre application Entra ID a accès aux conteneurs ADLS associés à chaque profil Synapse Link. Si vous ingérez des données à partir de plusieurs environnements ou applications, confirmez que l'application dispose d'attributions de rôles sur tous les conteneurs concernés.

  1. Accédez à Azure Storage Accounts et sélectionnez votre conteneur ou votre compte de stockage. (Databricks recommande le niveau conteneur pour maintenir le principe du moindre privilège.)
  2. Cliquez sur Access Control (IAM) , puis sur Add role assignment .
  3. Sélectionnez le rôle d'accès Contributeur aux données Blob du stockage → Lecture/Écriture/Suppression. Si votre organisation ne l'autorise pas, contactez l'équipe de votre compte Databricks.
  4. Cliquez sur Suivant , puis sur Sélectionner des membres .
  5. Sélectionnez Utilisateur, groupe ou service principal , puis Rechercher votre inscription d’application . (Si l’application n’apparaît pas dans les résultats de recherche, vous pouvez saisir explicitement son identifiant d’objet dans la barre de recherche, puis appuyer sur Entrée ).
  6. Cliquez sur Review + Assign .
  7. Pour confirmer que les autorisations sont correctement configurées, vous pouvez vérifier le contrôle d'accès de votre conteneur.

Étapes suivantes

Après avoir configuré la source de données Parquet, créez une connexion et un pipeline d'ingestion dans Databricks :