Opprett en app for regelmessig dataeksport
Gjelder disse Dynamics 365-appene:
Human Resources
Denne artikkelen viser hvordan du oppretter en logisk Microsoft Azure-app som eksporterer data fra Microsoft Dynamics 365 Human Resources etter en gjentakende tidsplan. Opplæringsprogrammet drar nytte av REST-API for DMF-pakke i Human Resources for å eksportere dataene. Når dataene er eksportert, lagrer den logiske appen den eksporterte datapakken i en Microsoft OneDrive for Business-mappe.
Forretningsscenario
I et typisk forretningsscenario for Microsoft Dynamics 365-integreringer må data eksporteres til et nedstrøms system etter en regelmessig tidsplan. Denne opplæringen viser hvordan du eksporterer alle arbeiderposter fra Microsoft Dynamics 365 Human Resources og lagrer listen over arbeidere i en OneDrive for Business-mappe.
Tips
De spesifikke dataene som eksporteres i denne opplæringen og målet for de eksporterte dataene, er bare eksempler. Du kan enkelt endre dem slik at de oppfyller dine forretningsbehov.
Teknologier som brukes
Denne opplæringen bruker følgende teknologier:
Dynamics 365 Human Resources – Hoveddatakilden for arbeidere som skal eksporteres.
Azure Logic Apps – Teknologien som sørger for orkestrering og planlegging av den gjentakende eksporten.
Kontakter – Teknologien som brukes til å koble den logiske appen til de nødvendige endepunktene.
- HTTP med Microsoft Entra ID-kobling
- OneDrive for Business-kontakt
REST-API for DMF-pakke – Teknologien som brukes til å utløse eksporten og overvåke fremdriften.
OneDrive for Business – Målet for de eksporterte arbeiderne.
Forutsetninger
Før du begynner øvelsen i denne opplæringen, må du ha følgende elementer:
- Et Human Resources-miljø med tillatelser på administratornivå i miljøet
- Et Azure-abonnement for å være vert for den logiske appen
Øvelsen
På slutten av denne øvelsen vil du ha en logisk app som er koblet til Human Resources-miljøet og OneDrive for Business-kontoen din. Den logiske appen eksporterer en datapakke fra Human Resources, venter på at eksporten skal fullføres, laster ned den eksporterte datapakken og lagrer datapakken i OneDrive for Business-mappen du har angitt.
Den fullførte logiske appen ligner på den følgende illustrasjonen.
Trinn 1: Opprette et dataeksportprosjekt i Human Resources
I Human Resources oppretter du et dataeksportprosjekt som eksporterer arbeidere. Gi prosjektet navnet Eksporter arbeidere, og kontroller at alternativet Generer data pakke er satt til Ja. Legg til en enkelt enhet (arbeider) i prosjektet, og velg formatet du vil eksportere i. (Microsoft Excel-formatet brukes i denne opplæringen.)
Viktig
Husk navnet på dataeksportprosjektet. Du kommer til å trenge det når du oppretter den logiske appen i neste trinn.
Trinn 2: Opprette den logiske appen
Mesteparten av øvelsen omfatter oppretting av den logiske appen.
Opprett en logisk app i Azure-portalen.
Start med en tom logisk app i Logic Apps Designer.
Legg til en utløser for gjentakelsesplan for å kjøre appen hvert døgn (eller etter en plan du velger selv).
Kall DMF REST-API-en ExportToPackage for å planlegge eksporten av datapakken.
Bruk handlingen Aktiver en HTTP-forespørsel fra HTTP med Microsoft Entra-kontakten.
- URL-adresse for basisressurs: URL-adressen til Human Resources-miljøet (ikke inkluder informasjon om bane/navneområde)
-
URI for Microsoft Entra-ressurs:
http://hr.talent.dynamics.com
Notat
Human Resources-tjenesten har enda ikke en kontakt som viser alle API-ene som utgjør REST-API-en for DMF-pakke, for eksempel ExportToPackage. Du må i stedet kalle API-ene ved å bruke rå HTTPS-forespørsler via HTTP med Microsoft Entra-koblingen. Denne koblingen bruker Microsoft Entra ID for godkjenning og autorisasjon til Human Resources.
Logg deg på Human Resources-miljøet via HTTP med Microsoft Entra-kontakten.
Konfigurer en HTTP POST-forespørsel for å kalle DMF REST-API-en ExportToPackage.
Metode: POST
URL-adresse til forespørselen: https://<hostname>/namespaces/<namespaceguid>/data/DataManagementDefinitionGroups/Microsoft.Dynamics.DataEntities.ExportToPackage
Teksten i forespørselen:
{ "definitionGroupId":"Export Workers", "packageName":"talent_package.zip", "executionId":"", "reExecute":false, "legalEntityId":"USMF" }
Tips
Du vil kanskje gi nytt navn til hvert trinn, slik at det blir mer meningsfylt enn standardnavnet, Aktiver en HTTP-forespørsel. Du kan for eksempel endre navnet på dette trinnet til ExportToPackage.
Initialiser en variabel for å lagre kjørestatusen til ExportToPackage-forespørselen.
Vent til kjørestatusen for dataeksporten er Vellykket.
Legg til en Til-løkke som gjentas til verdien av ExecutionStatus-variabelen er Vellykket.
Legg til en Forsinkelse-handling som venter fem sekunder før den spør etter gjeldende kjørestatus for eksporten.
Notat
Sett grenseantallet til 15 for å vente i maksimalt 75 sekunder (15 gjentakelser x 5 sekunder) for at eksporten skal fullføres. Hvis eksporten tar mer tid, justerer du grenseantallet etter behov.
Legg til handlinge Aktiver HTTP-forespørsel for å kalle DMF REST-API-en GetExecutionSummaryStatus, og sett variabelen ExecutionStatus til resultatet av GetExecutionSummaryStatus-svaret.
Dette eksemplet sjekker ikke for feil. API-en GetExecutionSummaryStatus kan returnere ikke-vellykkede sluttilstander (det vil si andre tilstander enn Vellykket). Hvis du vil ha mer informasjon, kan du se i API-dokumentasjonen.
Metode: POST
URL-adresse til forespørselen: https://<hostname>/namespaces/<namespace_guid>/data/DataManagementDefinitionGroups/Microsoft.Dynamics.DataEntities.GetExecutionSummaryStatus
Teksten i forespørselen: body('Invoke_an_HTTP_request')?['value']
Notat
Du må kanskje angi verdien for Teksten i forespørselen: enten i kodevisning eller i funksjonsredigeringsprogrammet i utformingen.
Viktig
Verdien for handlingen Angi variabel (body('InvokeanHTTPrequest2')?['value']) er forskjellig fra verdien for teksten Aktivere en HTTP-forespørsel 2, selv om verdiene vises på samme måte i utformingen.
Få tak i URL-adressen for nedlasting av den eksporterte pakken.
Legg til hendelsen Aktiver HTTP-forespørsel for å kalle DMF REST-API-en GetExportedPackageUrl.
- Metode: POST
- URL-adresse til forespørselen: https://<hostname>/namespaces/<namespace_guid>/data/DataManagementDefinitionGroups/Microsoft.Dynamics.DataEntities.GetExportedPackageUrl
- Teksten i forespørselen: {"executionId": body('GetExportedPackageURL')?['value']}
Last ned den eksporterte pakken.
Legg til en HTTP GET-forespørsel (en innebygd HTTP-koblingshandling) for å laste ned pakken fra URL-adressen som ble returnert i forrige trinn.
Metode: GET
URI: body('Invoke_an_HTTP_request_3').value
Notat
Du må kanskje angi verdien for URI enten i kodevisning eller i funksjonsredigeringsprogrammet i utformingen.
Notat
Denne forespørselen krever ingen ekstra godkjenning fordi URL-adressen som API-en GetExportedPackageUrl returnerer, inneholder et token for delte tilgangssignaturer som gir tilgang til å laste ned filen.
Lagre den nedlastede pakken ved hjelp av OneDrive for Business-koblingen.
Legg til en OneDrive for Business-handling Opprett fil.
Koble til OneDrive for Business-kontoen etter behov.
- Mappebane: En mappe du velger
- Filnavn: worker_package.zip
- Filinnhold: Teksten fra forrige trinn (dynamisk innhold)
Trinn 3: Teste den logiske appen
Hvis du vil teste den logiske appen, velger du Kjør-knappen i utformingsverktøyet. Du ser at trinnene i den logiske appen begynner å kjøre. Etter 30 til 40 sekunder, skal den logiske appen slutte å kjøre, og OneDrive for Business-mappen skal inneholde en ny pakkefil som inneholder de eksporterte arbeiderne.
Hvis det rapporteres en feil i et hvilket som helst trinn, velger du det mislykkede trinnet i utformingen og undersøker feltene Inndata og Utdata for den. Feilsøk og rett opp trinnet etter behov for å korrigere feilene.
Illustrasjonen nedenfor viser hvordan Logic Apps Designer ser ut når alle trinnene i den logiske appen er kjørt vellykket.
Sammendrag
I denne opplæringen lærte du hvordan du bruker en logisk app til å eksportere data fra Human Resources og lagre de eksporterte dataene i en OneDrive for Business-mappe. Du kan endre trinnene i denne opplæringen etter behov for å dekke dine forretningsbehov.