Eine wiederkehrende Datenexport-App erstellen

Gilt für diese Dynamics 365-Apps:
Personalverwaltung

Dieser Artikel beschreibt, wie Sie eine Microsoft Azure-Logik-App erstellen, die Daten von Microsoft Dynamics 365 Human Resources nach einem festen Zeitplan exportiert. Das Tutorial nutzt die Vorteile der REST-Anwendungsprogrammierschnittstelle (API) des Human Resources-DMF-Pakets, um die Daten zu exportieren. Nachdem die Daten exportiert wurden, speichert die Logik-App das exportierte Datenpaket in einem Microsoft OneDrive Ordner.

Anwendungsszenario

In einem typischen Geschäftsszenario für Microsoft Dynamics 365 Integrationen müssen Sie Daten nacheinander in ein nachgelagertes System exportieren. In diesem Lernprogramm wird gezeigt, wie Sie alle Arbeitsdatensätze aus Microsoft Dynamics 365 Human Resources exportieren und die Liste der Mitarbeiter in einem OneDrive Ordner speichern.

Tip

Die spezifischen Daten, die Sie in diesem Lernprogramm exportieren, und das Ziel der exportierten Daten sind nur Beispiele. Sie können sie einfach ändern und an Ihre Unternehmensanforderungen anpassen.

Verwendete Technologien

In diesem Tutorial werden die folgenden Technologien verwendet:

Voraussetzungen

Bevor Sie mit der Übung in diesem Lernprogramm beginnen, stellen Sie sicher, dass Sie über die folgenden Elemente verfügen:

  • Eine Human Resources-Umgebung, die über Berechtigungen auf Administratorebene in der Umgebung verfügt
  • Ein Azure-Abonnement, um die Logic App zu hosten

Übung

Am Ende dieser Übung verfügen Sie über eine Logik-App, die mit Ihrer Personalumgebung und Ihrem OneDrive-Konto verbunden ist. Die Logik-App exportiert ein Datenpaket aus der Personalabteilung, wartet, bis der Export abgeschlossen ist, laden Sie das exportierte Datenpaket herunter, und speichern Sie das Datenpaket im von Ihnen angegebenen Ordner OneDrive.

Die fertige Logik-App ähnelt der folgenden Abbildung.

Screenshot der vollständigen Übersicht über die Logik-App.

Schritt 1: Erstellen eines Datenexportprojekts in Human Resources

Erstellen Sie in Human Resources ein Datenexportprojekt, das Arbeitskräfte exportiert. Benennen Sie das Projekt "Export Worker", und legen Sie die Option " Datenpaket generieren " auf "Ja" fest. Fügen Sie eine einzelne Entität (Arbeitskraft) zum Projekt hinzu und wählen Sie das Format aus, in das exportiert werden soll. (In diesem Lernprogramm wird das Microsoft Excel Format verwendet.)

Screenshot des Datenprojekts „Export Workers“.

Important

Merken Sie sich den Namen des Datenexportprojekts. Sie benötigen sie, wenn Sie die Logik-App im nächsten Schritt erstellen.

Schritt 2: Erstellen der Logic App

Die meisten dieser Übung beinhalten das Erstellen der Logik-App.

  1. Erstellen Sie im Azure-Portal eine Logic App.

    Screenshot der Seite zum Erstellen von Logik-Apps.

  2. Beginnen Sie im Logic Apps Designer mit einer leeren Logic App.

  3. Fügen Sie einen Auslöser für einen Serienzeitplan hinzu, um die Logic App alle 24 Stunden (oder nach einem Zeitplan Ihrer Wahl) auszuführen.

    Bildschirmfoto des Dialogfelds „Wiederholung“.

  4. Rufen Sie die ExportToPackage DMF-REST-API zum Planen des Exports Ihres Datenpakets auf.

    1. Verwenden Sie die Aktion HTTP-Anforderung aufrufen über den HTTP mit Microsoft Entra-Connector.

      • Url der Basisressource: Die URL Ihrer Personalumgebung (Geben Sie keine Pfad- oder Namespaceinformationen an.)
      • Microsoft Entra-Ressourcen-URI:http://hr.talent.dynamics.com

      Note

      Der Human Resources-Dienst stellt noch keinen Connector bereit, der alle APIs verfügbar macht, aus denen die REST-API des DMF-Pakets besteht, beispielsweise ExportToPackage. Stattdessen müssen Sie die APIs mithilfe von rohen HTTPS-Anforderungen über den HTTP mit Microsoft Entra-Connector aufrufen. Dieser Connector verwendet Microsoft Entra ID zur Authentifizierung und Autorisierung gegenüber Human Resources.

    2. Melden Sie sich in der Human Resources-Umgebung über den HTTP mit Microsoft Entra-Connector an.

    3. Richten Sie eine HTTP-POST-Anforderungen ein, um die ExportToPackage-DMF-REST-API aufzurufen.

      • Methode: POST

      • Url der Anforderung:https://<hostname>/namespaces/<namespace_guid>/data/DataManagementDefinitionGroups/Microsoft.Dynamics.DataEntities.ExportToPackage

      • Text der Anforderung:

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

    Tip

    Möglicherweise möchten Sie die einzelnen Schritte umbenennen, damit deren Bedeutung klarer wird als der Standardname HTTP-Anforderung aufrufen. Sie können diesen Schritt beispielsweise umbenennen in ExportToPackage.

  5. Initialisieren Sie eine Variable, um den Ausführungsstatus der ExportToPackage-Anforderung zu speichern.

    Screenshot der Aktion

  6. Warten Sie, bis der Ausführungsstatus des Datenexports Erfolgreich ist.

    1. Fügen Sie eine Bis-Schleife hinzu, die wiederholt wird, bis der Wert der ExecutionStatus-Variable Erfolgreich lautet.

    2. Fügen Sie eine Verzögern-Aktion hinzu, durch die fünf Sekunden gewartet wird, bevor der aktuelle Ausführungsstatus des Exports abgefragt wird.

      Screenshot des Containers

      Note

      Setzen Sie den Grenzwert auf 15, damit maximal 75 Sekunden gewartet wird (15 Iterationen × 5 Sekunden), bis der Export abgeschlossen ist. Wenn Ihr Export länger dauert, passen Sie den Grenzwert entsprechend an.

    3. Fügen Sie eine HTTP-Anforderung aufrufen-Aktion zum Aufrufen der GetExecutionSummaryStatus-DMF-REST-API hinzu und setzen Sie die ExecutionStatus-Variable auf das Ergebnis der GetExecutionSummaryStatus-Antwort.

      Dieses Beispiel führt keine Fehlerprüfung durch. Die GetExecutionSummaryStatus-API kann nicht erfolgreiche Terminalzustände zurückgeben (also andere Zustände als Erfolgreich). Weitere Informationen finden Sie in der API-Dokumentation.

      • Methode: POST

      • Url der Anforderung:https://<hostname>/namespaces/<namespace_guid>/data/DataManagementDefinitionGroups/Microsoft.Dynamics.DataEntities.GetExecutionSummaryStatus

      • Textkörper der Anforderung:body('Invoke_an_HTTP_request')?['value']

        Note

        Möglicherweise müssen Sie den Hauptteil der Anforderung-Wert in der Codeansicht oder im Funktionseditor im Designer eingeben.

      Screenshot der Aktion

      Screenshot der Aktion

      Important

      Der Wert für die Aktion Variable festlegen (body('Invoke_an_HTTP_request_2')?['value']) unterscheidet sich vom Wert des Textkörpers der Aktion HTTP-Anforderung 2 aufrufen, obwohl der Designer die Werte auf dieselbe Weise anzeigt.

  7. Erhalten Sie die Download-URL für das exportierte Paket.

    • Fügen Sie eine HTTP-Anforderung aufrufen-Aktion hinzu, um die GetExportedPackageUrl-DMF-REST-API aufzurufen.

      • Methode: POST
      • URL der Anforderung: https://<hostname>/namespaces/<namespace_guid>/data/DataManagementDefinitionGroups/Microsoft.Dynamics.DataEntities.GetExportedPackageUrl
      • Text der Anforderung: {"executionId": body('GetExportedPackageURL')?['value']}

      Screenshot der GetExportedPackageURL-Aktion.

  8. Laden Sie das exportierte Paket herunter.

    • Fügen Sie eine HTTP GET-Anforderung (eine integrierte HTTP-Connectoraktion) hinzu, um das Paket aus der URL herunterzuladen, die der vorherige Schritt zurückgibt.

      • Methode: GET

      • URI: body('Invoke_an_HTTP_request_3').value

        Note

        Möglicherweise müssen Sie den URI-Wert in der Codeansicht oder im Funktionseditor im Designer eingeben.

      Screenshot der HTTP GET-Aktion.

      Note

      Diese Anforderung erfordert keine zusätzliche Authentifizierung, da die URL, die die GetExportedPackageUrl-API zurückgibt, ein Token für gemeinsame Zugriffssignaturen enthält, mit dem der Zugriff zum Herunterladen der Datei gewährt wird.

  9. Speichern Sie das heruntergeladene Paket mit OneDrive Connector.

    • Fügen Sie eine OneDrive Datei Datei erstellenAktion hinzu.

    • Stellen Sie nach Bedarf eine Verbindung mit Ihrem OneDrive Konto her.

      • Ordnerpfad: Ein Ordner Ihrer Wahl
      • Dateiname: worker_package.zip
      • Dateiinhalt: Der Hauptteil aus dem vorherigen Schritt (dynamischer Inhalt)

      Screenshot der Aktion

Schritt 3: Testen der Logic App

Um Ihre Logik-App zu testen, wählen Sie " Ausführen " im Designer aus. Sie sehen, dass die Schritte der Logik-App gestartet werden. Nach 30 bis 40 Sekunden wird die Ausführung der Logik-App abgeschlossen, und Ihr OneDrive Ordner enthält eine neue Paketdatei, die die exportierten Worker enthält.

Wenn für einen Schritt ein Fehler gemeldet wird, wählen Sie den fehlgeschlagenen Schritt im Designer aus und überprüfen Sie die Felder Eingaben und Ausgaben für diesen. Debuggen Sie und passen Sie den Schritt nach Bedarf an, um die Fehler zu beheben.

Die folgende Abbildung zeigt, wie der Logic Apps-Designer aussieht, wenn alle Schritte der Logik-App erfolgreich ausgeführt werden.

Screenshot einer erfolgreichen Logik-App- Ausführung.

Zusammenfassung

In diesem Lernprogramm haben Sie erfahren, wie Sie mithilfe einer Logik-App Daten aus Personalressourcen exportieren und die exportierten Daten in einem OneDrive Ordner speichern. Sie können die Schritte dieses Tutorials nach Bedarf an Ihre geschäftlichen Anforderungen anpassen.