Oprette en app for tilbagevendende dataeksport
Gælder for disse Dynamics 365-apps:
Human Resources
I denne artikel beskrives, hvordan du opretter en Microsoft Azure logikapp, der eksporterer data fra Microsoft Dynamics 365 Human Resources efter en tilbagevendende tidsplan. Selvstudiet benytter REST API for DMF-pakke (programmeringsgrænseflade til program) i Human Resources til at eksportere dataene. Når dataene er eksporteret, gemmer logikappen den eksporterede datapakke i en Microsoft OneDrive for Business-mappe.
Forretningsscenarie
I et typisk forretningsscenarie til Microsoft Dynamics 365-integration skal data eksporteres til et downstream-system i en tilbagevendende tidsplan. Dette selvstudium viser, hvordan du eksporterer alle arbejderposter fra Microsoft Dynamics 365 Human Resources og gemmer listen over arbejdere i en OneDrive for Business-mappe.
Tip!
De specifikke data, der eksporteres i dette selvstudium, og destinationen for de eksporterede data, er kun eksempler. Du kan nemt ændre dem, så de opfylder dine forretningsbehov.
Anvendte teknologier
I dette selvstudium bruges følgende teknologier:
Dynamics 365 Human Resources – Masterdatakilden for arbejdere, der skal eksporteres.
Azure Logic Apps - Den teknologi, der giver orkestrering og planlægning af den tilbagevendende eksport.
Connectorer – Den teknologi, der bruges til at forbinde logikappen med de påkrævede slutpunkter.
- HTTP med Microsoft Entra id connector
- OneDrive til virksomheder connector
DMF pakke REST API - Den teknologi, der bruges til at udløse eksporten og overvåge dens fremskridt.
OneDrive Business– Destinationen for de eksporterede arbejdere.
Forudsætninger
Før du starter øvelsen i dette selvstudium, skal du have følgende elementer:
- Et Human Resources-miljø med administratorrettigheder i miljøet
- Et Azure-abonnement som vært for logikappen
Øvelsen
I slutningen af denne øvelse har du en logikapp, der har forbindelse til dit Human Resources-miljø og din OneDrive for Business-konto. Logikappen eksporterer en datapakke fra Human Resources; vent til eksporten er fuldført, hent den eksporterede datapakke, og gem datapakken i den OneDrive for Business-mappe, du har angivet.
Den fuldførte logikapp ligner den i følgende illustration.
Trin 1: Opret et dataeksportprojekt i Human Resources
Opret i Human Resources et dataeksportprojekt, der eksporterer arbejdere. Navngiv projektet Eksport af medarbejdere, og sørg for, at indstillingen Generér datapakke er angivet til Ja. Føj en enkelt enhed (Arbejder) til projektet, og vælg det format, der skal eksporteres i. (Microsoft Excel-formatet bruges i dette selvstudium).
Vigtig
Husk navnet på dataeksportprojektet. Du skal bruge det, når du opretter logikappen i næste trin.
Trin 2: Opret logikappen
Hovedparten af opgaven omfatter oprettelse af logikappen.
Opret en logikapp i Azure-portalen.
Start med en tom logikapp i Logic Apps Designer.
Tilføj en udløser for gentagelsesplan for at køre logikappen hver 24. time (eller i henhold til en tidsplan efter eget valg).
Kald ExportToPackage DMF REST-API for at planlægge eksport af din datapakke.
Brug handlingen Kald en HTTP-anmodning fra HTTP med Microsoft Entra-connector.
- URL-adresse til basisressource: URL-adressen til dit Human Resources-miljø (medtag ikke oplysninger om sti/navneområde).
- Microsoft Entra Ressource-URI:
http://hr.talent.dynamics.com
Bemærk!
Human Resources-tjenesten har endnu ikke en connector, der viser alle de API'er, der udgør REST API for DMF-pakken, f.eks. ExportToPackage. Du skal i stedet kalde API'erne ved at bruge rå HTTPS-anmodninger via HTTP med Microsoft Entra-connector. Denne connector bruger Microsoft Entra ID til godkendelse og autorisation til Human Resources.
Log på Human Resources-miljøet via HTTP med Microsoft Entra-connector.
Konfigurer en HTTP POST-anmodning for at kalde ExportToPackage DMF REST-API'en.
Metode: POST
Anmodningens URL-adresse: https://<værtsnavn>/navneområder/<namespace_guid>/data/DataManagementDefinitionGroups/Microsoft.Dynamics.DataEntities.ExportToPackage
Anmodningens brødtekst:
{ "definitionGroupId":"Export Workers", "packageName":"talent_package.zip", "executionId":"", "reExecute":false, "legalEntityId":"USMF" }
Tip!
Det kan være en god ide at omdøbe hvert trin, så det er mere sigende end standardnavnet Kald en HTTP-anmodning. Du kan f.eks. omdøbe dette trin ExportToPackage.
Initialiser en variabel for at gemme udførelsesstatus for ExportToPackage-anmodningen .
Vent, indtil udførelsesstatus for dataeksport er Fuldført.
Tilføj en Indtil loop, der gentages, indtil værdien af variablen ExecutionStatus er Fuldført.
Tilføj en Forsinkelse-handling, der venter fem sekunder, før der sendes en forespørgsel om den aktuelle udførelsesstatus for eksporten.
Bemærk!
Angiv grænseantallet til 15 for at vente maksimalt 75 sekunder (15 gentagelser × 5 sekunder), til eksporten er fuldført. Hvis eksporten tager længere tid, skal du justere grænsen for antal efter behov.
Tilføj en Kald en HTTP-anmodning-handling for at kalde GetExecutionSummaryStatus DMF REST-API, og angiv variablen ExecutionStatus til resultatet af GetExecutionSummaryStatus-svaret.
I dette eksempel udføres der ikke fejlkontrol. GetExecutionSummaryStatus-API'en kan returnere ikke-gennemførte terminaltilstande (dvs. tilstande, der ikke er angivet til Fuldført). Yderligere oplysninger finder du i API-dokumentation.
Metode: POST
Anmodningens URL-adresse: https://<værtsnavn>/navneområder/<namespace_guid>/data/DataManagementDefinitionGroups/Microsoft.Dynamics.DataEntities.GetExecutionSummaryStatus
Anmodningens brødtekst: body('Invoke_an_HTTP_request')?[' værdi']
Bemærk!
Du skal muligvis angive værdien for Indhold i anmodningen i kodevisning eller i funktionseditoren i designeren.
Vigtig
Værdien for handlingen Angiv variabel (body('Invoke_an_HTTP_request_2')?['value']) adskiller sig fra værdien for Aktiver en HTTP-anmodning 2-indholdsværdi, også selv om designeren viser værdierne på samme måde.
Hent URL-adressen til hentning for den eksporterede pakke.
Tilføj en Kald en HTTP-anmodning-handling for at kalde GetExportedPackageUrl DMF REST-API'en.
- Metode: POST
- URL-adresse til anmodningen: https://<værtsnavn>/navneområder/<namespace_guid>/data/DataManagementDefinitionGroups/Microsoft.Dynamics.DataEntities.GetExportedPackageUrl
- Anmodningens brødtekst: {"executionId": body('GetExportedPackageURL')?[' værdi']}
Hent den eksporterede pakke.
Tilføj en HTTP GET-anmodning (en indbygget HTTP-connectorhandling) for at hente pakken fra den URL-adresse, der blev returneret i forrige trin.
Metode: GET
URI: brødtekst('Invoke_an_HTTP_request_3').værdi
Bemærk!
Du skal muligvis angive værdien for URI-adresse i kodevisning eller i funktionseditoren i designeren.
Bemærk!
Denne anmodning kræver ingen yderligere godkendelse, fordi den URL-adresse, som GetExportedPackageUrl-API'en returnerer, inkluderer et token for signaturer til delt adgang, der giver adgang til at hente filen.
Gem den hentede pakke ved hjælp af OneDrive for Business-connector.
Tilføj en OneDrive for Business Opret fil-handling.
Opret forbindelse til OneDrive for Business-kontoen efter behov.
- Mappesti: En mappe efter eget valg
- Filnavn: worker_package.zip
- Filindhold: Brødteksten fra den forrige trin (dynamisk indhold)
Trin 3: Test logikappen
Hvis du vil teste logikappen, skal du vælge knappen Kør i designeren. Du kan se, at trinnene i logikappen begynder at blive afviklet. Efter 30 til 40 sekunder bør logikappen være færdig med at køre, og din OneDrive for Business-mappe bør indeholde en ny pakkefil, der indeholder de eksporterede arbejdere.
Hvis der rapporteres om en fejl for et af trinnene, skal du vælge det trin, der er fejl ved, i designerne og undersøge felterne Input og Output for det. Foretag fejlfinding, og juster trinnet som nødvendigt for at rette fejlene.
I følgende illustration vises det, hvordan Logic Apps Designer ser ud, når alle trin i logikappen kører korrekt.
Resumé
I dette selvstudium lærte du, hvordan du kan bruge en logikapp til at eksportere data fra Human Resources og gemme de eksporterede i en OneDrive for Business-mappe. Du kan ændre trinene i dette selvstudium efter behov, så det passer til dine forretningsbehov.