Créer une application d’exportation de données récurrentes

S’applique aux applications Dynamics 365 suivantes :
Ressources humaines

Cet article décrit la procédure de création d’une application logique Microsoft Azure qui exporte les données depuis Microsoft Dynamics 365 Human Resources selon une planification récurrente. Le didacticiel tire parti de l’interface de programmation d’application (API) du package DMF Human Resources pour exporter les données. Une fois les données exportées, l’application logique enregistre le package de données exporté dans un dossier Microsoft OneDrive.

Scénario d’entreprise

Dans un scénario métier classique pour les intégrations Microsoft Dynamics 365, vous devez exporter des données vers un système en aval selon une planification périodique. Ce tutoriel montre comment exporter tous les enregistrements de travail à partir de Microsoft Dynamics 365 Human Resources et enregistrer la liste des workers dans un dossier OneDrive.

Tip

Les données spécifiques que vous exportez dans ce didacticiel et la destination des données exportées ne sont que des exemples. Vous pouvez facilement les modifier pour répondre à vos besoins professionnels.

Technologies utilisées

Ce didacticiel utilise les technologies suivantes :

Prerequisites

Avant de commencer l’exercice dans ce tutoriel, vérifiez que vous disposez des éléments suivants :

  • Un environnement de ressources humaines doté d’autorisations de niveau administrateur dans l’environnement
  • Un Abonnement Azure pour héberger l’application logique

Exercice

À la fin de cet exercice, vous disposez d’une application logique connectée à votre environnement ressources humaines et à votre compte OneDrive. L’application logique exporte un package de données à partir des ressources humaines, attend la fin de l’exportation, télécharge le package de données exporté et enregistre le package de données dans le dossier OneDrive que vous avez spécifié.

L’application logique terminée ressemble à l’illustration suivante.

Capture d’écran de la vue d’ensemble de l’application logique terminée.

Étape 1 : créer un projet d’exportation de données dans Human Resources

Dans Human Resources, créezun projet d’exportation de données qui exporte des collaborateurs. Nommez le projet Export Workers et définissez l’option Générer le package de données sur Oui. Ajoutez une seule entité (Collaborateur) au projet et sélectionnez le format dans lequel exporter. (Ce tutoriel utilise le format Microsoft Excel.)

Capture d’écran du projet de données d’exportation des processus de travail.

Important

Notez le nom du projet d’exportation de données. Vous en avez besoin lorsque vous créez l’application logique à l’étape suivante.

Étape 2 : créer l’application logique

La plupart de cet exercice implique la création de l’application logique.

  1. Dans le portail Azure, créez une application logique.

    Capture d’écran de la page de création d’application logique.

  2. Dans Logic Apps Designer, commencez par une application logique vide.

  3. Ajoutez un Déclencheur de calendrier de récurrence pour exécuter l’application logique toutes les 24 heures (ou selon un horaire de votre choix).

    Capture d’écran de la boîte de dialogue Récurrence.

  4. Appelez l’API REST DMF ExportToPackagepour planifier l’exportation de votre package de données.

    1. Utilisez l’action Appeler une requête HTTP à partir du connecteur HTTP avec Microsoft Entra.

      • URL de ressource de base : URL de votre environnement ressources humaines (n’incluez pas de chemin d’accès ou d’informations d’espace de noms.)
      • URI de ressource Microsoft Entra :http://hr.talent.dynamics.com

      Note

      Le service Human Resources ne fournit pas encore de connecteur qui expose toutes les API qui composent l’API REST du package DMF, telles que ExportToPackage. Au lieu de cela, vous devez appeler les API en utilisant des requêtes HTTPS brutes via le connecteur HTTP with Microsoft Entra. Ce connecteur utilise Microsoft Entra ID pour l’authentification et l’autorisation à Human Resources.

    2. Connectez-vous à votre environnement Human Resources via le connecteur HTTP avec Microsoft Entra.

    3. Configurez une requête HTTP POST pour appeler l’API REST DMF ExportToPackage.

      • Méthode : POST

      • Url de la requête :https://<hostname>/namespaces/<namespace_guid>/data/DataManagementDefinitionGroups/Microsoft.Dynamics.DataEntities.ExportToPackage

      • Corps de la requête :

        {
            "definitionGroupId":"Export Workers",
            "packageName":"talent_package.zip",
            "executionId":"",
            "reExecute":false,
            "legalEntityId":"USMF"
        }
        

    Tip

    Vous voudrez peut-être renommer chaque étape afin qu’elle soit plus significative que le nom par défaut, Appeler une requête HTTP. Par exemple, vous pouvez renommer cette étape ExporterVersPackage.

  5. Initialisez une variable pour stocker l’état d’exécution de la requête ExporterVersPackage.

    Capture d’écran de l’action Initialiser la variable.

  6. Attendez que l’état d’exécution de l’exportation de données soit Réussi.

    1. Ajoutez une action Jusqu’à la boucle qui se répète jusqu’à ce que la valeur de la variable ExecutionStatus soit Réussi.

    2. Ajoutez une action Retard qui attend cinq secondes avant d’interroger l’état d’exécution actuel de l’exportation.

      Capture d’écran du conteneur de boucles Until.

      Note

      Définissez le nombre limite sur 15 pour attendre un maximum de 75 secondes (15 itérations × 5 secondes) que l’exportation soit terminée. Si votre exportation prend plus de temps, ajustez la limite comme il convient.

    3. Ajoutez une action Appeler une requête HTTP pour appeler l’API REST DMF GetExecutionSummaryStatuset définissez la variable ExecutionStatus sur résultat de la réponse GetExecutionSummaryStatus.

      Cet exemple ne vérifie pas les erreurs. L’API GetExecutionSummaryStatus peut renvoyer des états de terminal non réussis (c’est-à-dire des états autres que Réussi). Pour plus d’informations, voir la Documentation d’API.

      • Méthode : POST

      • Url de la requête :https://<hostname>/namespaces/<namespace_guid>/data/DataManagementDefinitionGroups/Microsoft.Dynamics.DataEntities.GetExecutionSummaryStatus

      • Corps de la requête :body('Invoke_an_HTTP_request')?['value']

        Note

        Vous devrez peut-être saisir la valeur Corps de la demande soit en mode code, soit dans l’éditeur de fonctions du concepteur.

      Capture d’écran de l’action Appeler une requête HTTP 2.

      Capture d’écran de l’action Définir une variable.

      Important

      Valeur de l’action Définir la variable (body('Invoke_an_HTTP_request_2') ?[' value']) diffère de la valeur de la valeur Invoke an HTTP request 2 body value, même si le concepteur affiche les valeurs de la même façon.

  7. Obtenez l’URL de téléchargement du package exporté.

    • Ajoutez une action Appeler une requête HTTP pour appeler l’API REST DMF GetExportedPackageUrl.

      • Méthode : POST
      • Url de la demande : https://<hostname>/namespaces/<namespace_guid>/data/DataManagementDefinitionGroups/Microsoft.Dynamics.DataEntities.GetExportedPackageUrl
      • Corps de la demande : {"executionId": body(’GetExportedPackageURL’)?[’value’]}

      Capture d’écran de l’action GetExportedPackageURL.

  8. Téléchargez le package exporté.

    • Ajoutez une requête HTTP GET ( une action de connecteur HTTP intégrée) pour télécharger le package à partir de l’URL retournée par l’étape précédente.

      • Méthode : GET

      • URI : body(’Invoke_an_HTTP_request_3’).value

        Note

        Vous devrez peut-être saisir la valeur URI soit en mode code, soit dans l’éditeur de fonctions du concepteur.

      Capture d’écran de l’action HTTP GET.

      Note

      Cette requête ne nécessite aucune authentification supplémentaire, car l’URL retournée par l’API GetExportedPackageUrl inclut un jeton de signatures d’accès partagé qui autorise l’accès au téléchargement du fichier.

  9. Enregistrez le package téléchargé à l’aide du connecteur OneDrive.

    • Ajoutez un fichier OneDrive Créer un fichier action.

    • Connectez-vous à votre compte OneDrive, selon les besoins.

      • Chemin du dossier : un dossier de votre choix
      • Nom fichier : worker_package.zip
      • Contenu du fichier : le corps de l’étape précédente (contenu dynamique)

      Capture d’écran de l’action Créer un fichier.

Étape 3 : tester l’application logique

Pour tester votre application logique, sélectionnez Exécuter dans le concepteur. Vous voyez que les étapes de l’application logique commencent à s’exécuter. Après 30 à 40 secondes, l’application logique a fini de s’exécuter, et votre dossier OneDrive contient un nouveau fichier package qui contient les workers exportés.

Si un échec est signalé pour une étape, sélectionnez l’étape ayant échoué dans le concepteur et examinez les champs Entrées et Sorties correspondants. Déboguez et ajustez l’étape au besoin pour corriger les erreurs.

L’illustration suivante montre à quoi ressemble le concepteur Logic Apps lorsque toutes les étapes de l’application logique s’exécutent correctement.

Capture d’écran d’une exécution réussie de l’application logique.

Résumé

Dans ce tutoriel, vous avez appris à utiliser une application logique pour exporter des données à partir des ressources humaines et enregistrer les données exportées dans un dossier OneDrive. Vous pouvez modifier les étapes de ce didacticiel selon vos besoins pour répondre aux besoins de votre entreprise.