Creare un'app di esportazione dati ricorrente
Si applica a queste app Dynamics 365:
Human Resources
Questo articolo descrive come creare un'applicazione logica Microsoft Azure che esporta i dati da Microsoft Dynamics 365 Human Resources su una pianificazione ricorrente. Il tutorial utilizza l'API REST del pacchetto DMF di Human Resources per esportare i dati. Dopo che i dati sono stati esportati, l'app di logica salva il pacchetto dati esportato in una cartella di Microsoft OneDrive for Business.
Scenario aziendale
In uno scenario aziendale tipico per le integrazioni di Microsoft Dynamics 365, i dati devono essere esportati in un sistema downstream secondo una programmazione ricorrente. Questa esercitazione mostra come esportare tutti i record dei lavoratori da Microsoft Dynamics 365 Human Resources e salva l'elenco dei lavoratori in una cartella di OneDrive for Business.
Suggerimento
I dati specifici esportati in questa esercitazione e la destinazione dei dati esportati sono solo esempi. È possibile modificarli facilmente in base alle proprie esigenze aziendali.
Tecnologie utilizzate
Questo tutorial utilizza le seguenti tecnologie:
Dynamics 365 Human Resources – L'origine dati master per i lavoratori che verranno esportati.
App per la logica di Azure – La tecnologia che fornisce l'orchestrazione e la pianificazione dell'esportazione ricorrente.
Connettori – La tecnologia utilizzata per connettere l'app per la logica agli endpoint richiesti.
- Connettore HTTP con Microsoft Entra ID
- Connettore OneDrive for Business
API REST del pacchetto DMF – La tecnologia utilizzata per attivare l'esportazione e monitorarne l'avanzamento.
OneDrive for Business – La destinazione per i lavoratori esportati.
Prerequisiti
Prima di iniziare questa esercitazione, è necessario disporre dei seguenti elementi:
- Un ambiente di Human Resources con autorizzazioni a livello di amministratore nell'ambiente
- Una sottoscrizione di Azure per ospitare l'app per la logica
Esercitazione
Alla fine di questa esercitazione, si disporrà di un'app per la logica connessa all'ambiente di Human Resources e all'account OneDrive for Business. L'app per la logica esporterà un pacchetto di dati da Human Resources, attenderà il completamento dell'esportazione, scaricherà il pacchetto di dati esportato e salverà il pacchetto di dati nella cartella di OneDrive for Business specificata.
L'app per la logica completata sarà simile alla seguente illustrazione.
Passaggio 1: creare un progetto di esportazione di dati in Human Resources
In Human Resources, creare un progetto di esportazione di dati che esporta i lavoratori. Assegnare al progetto il nome Esportazione lavoratori e assicurarsi che l'opzione Genera pacchetto dati sia impostata su Sì. Aggiungere una singola entità (Lavoratore) al progetto e selezionare il formato in cui esportare (in questa esercitazione viene utilizzato il formato Microsoft Excel).
Importante
Prendere nota del nome del progetto di esportazione di dati. Dovrà essere utilizzato quando si crea l'app per la logica nel passaggio successivo.
Passaggio 2: creare l'app per la logica
La maggior parte dell'esercitazione prevede la creazione dell'app per la logica.
Nel portale di Azure, creare un'app per la logica.
Nella finestra di progettazione di app per la logica, iniziare con un'app per la logica vuota.
Aggiungere un trigger di programmazione della ricorrenza per eseguire l'app per la logica ogni 24 ore (o in base alla programmazione scelta).
Chiamare l'API REST DMF ExportToPackage per pianificare l'esportazione del pacchetto di dati.
Utilizzare l'azione Richiama richiesta HTTP dal connettore HTTP con Microsoft Entra.
- URL risorsa di base: l'URL dell'ambiente di Human Resources (non includere l'informazione path/namespace).
-
URI risorsa Microsoft Entra:
http://hr.talent.dynamics.com
Nota
Il servizio Human Resources non fornisce ancora un connettore che espone tutte le API che compongono l'API REST del pacchetto DMF, come ExportToPackage. È invece necessario chiamare le API utilizzando le richieste HTTPS non elaborate tramite il connettore HTTP con Microsoft Entra. Questo connettore utilizza Microsoft Entra ID per l'autenticazione e l'autorizzazione a Human Resources.
Accedere all'ambiente di Human Resources tramite il connettore HTTP con Microsoft Entra.
Impostare una richiesta POST HTTP per chiamare l'API REST DMF ExportToPackage.
Metodo: POST
URL della richiesta: https://<hostname>/namespaces/<namespace_guid>/data/DataManagementDefinitionGroups/Microsoft.Dynamics.DataEntities.ExportToPackage
Corpo della richiesta:
{ "definitionGroupId":"Export Workers", "packageName":"talent_package.zip", "executionId":"", "reExecute":false, "legalEntityId":"USMF" }
Suggerimento
È possibile che si intenda rinominare ogni passaggio di modo che risulti più descrittivo del nome predefinito, Richiamare una richiesta HTTP. Ad esempio, è possibile rinominare questo passaggio ExportToPackage.
Inizializzare una variabile per memorizzare lo stato di esecuzione della richiesta ExportToPackage.
Attendere fino a quando lo stato di esecuzione dell'esportazione dei dati è Operazione completata.
Aggiungere un ciclo Until che si ripete fino a che il valore della variabile ExecutionStatus non è Operazione completata.
Aggiungere un'azione Ritarda che attende cinque secondi prima di eseguire il polling dello stato di esecuzione corrente dell'esportazione.
Nota
Impostare il valore del limite su 15 per attendere un massimo di 75 secondi (15 iterazioni × 5 secondi) per il completamento dell'esportazione. Se l'esportazione richiede più tempo, regolare il valore del limite in base alle esigenze.
Aggiungere un'azione Richiama richiesta HTTP per chiamare l'API REST DMF GetExecutionSummaryStatus e impostare la variabile ExecutionStatussul risultato della risposta GetExecutionSummaryStatus.
Questo esempio non esegue il controllo degli errori. L'API GetExecutionSummaryStatus può restituire stati terminali non riusciti (ovvero stati diversi da Operazione completata). Per ulteriori informazioni, vedere la documentazione API.
Metodo: POST
URL della richiesta: https://<hostname>/namespaces/<namespace_guid>/data/DataManagementDefinitionGroups/Microsoft.Dynamics.DataEntities.GetExecutionSummaryStatus
Corpo della richiesta: body('Invoke_an_HTTP_request')?['value']
Nota
Potrebbe essere necessario inserire il valore Corpo della richiesta nella visualizzazione codice o nell'editor di funzioni nella finestra di progettazione.
Importante
Il valore dell'azione Imposta variabile (body('InvokeanHTTPrequest2')?['value']) differirà dal valore del corpo della richiesta Richiama richiesta HTTP 2 anche se la finestra di progettazione mostrerà i valori allo stesso modo.
Ottenere l'URL di download del pacchetto esportato.
Aggiungere un'azione Richiama richiesta HTTP per chiamare l'API REST DMF GetExportedPackageUrl.
- Metodo: POST
- URL della richiesta: https://<hostname>/namespaces/<namespace_guid>/data/DataManagementDefinitionGroups/Microsoft.Dynamics.DataEntities.GetExportedPackageUrl
- Corpo della richiesta: {"executionId": body('GetExportedPackageURL')?['value']}
Scaricare il pacchetto esportato.
Aggiungere una richiesta GET HTTP (un'azione del connettore HTTP) integrata per scaricare il pacchetto dall'URL restituito nel passaggio precedente.
Metodo: GET
URI: body('Invoke‑an‑HTTP‑request‑3').value
Nota
Potrebbe essere necessario immettere il valore URI nella visualizzazione codice o nell'editor di funzioni nella finestra di progettazione.
Nota
Questa richiesta non richiede alcuna autenticazione aggiuntiva, in quanto l'URL che l'API GetExportedPackageUrl restituisce include un token di firme di accesso condiviso che concede l'accesso per scaricare il file.
Salvare il pacchetto scaricato utilizzando il connettore OneDrive for Business.
Aggiungere l'azione Crea file di OneDrive for Business.
Connettersi all'account OneDrive for Business, come necessario.
- Percorso cartella: una cartella qualsiasi
- Nome file: worker‑package.zip
- Contenuto file: il corpo del passaggio precedente (contenuto dinamico)
Passaggio 3: testare l'app per la logica
Per testare l'app per la logica, selezionare il pulsante Esegui nella finestra di progettazione. Vengono eseguiti i passaggi per l'esecuzione dell'app per la logica. L'esecuzione dell'app per la logica dovrebbe terminare dopo 30-40 secondi e la cartella di OneDrive for Business dovrebbe includere un nuovo file di pacchetto contenente i lavoratori esportati.
Se viene segnalato un errore per un qualsiasi passaggio, selezionare quel passaggio nella finestra di progettazione ed esaminarne i campi Input e Output. Eseguire il debug e rettificare il passaggio come necessario per correggere gli errori.
L'illustrazione seguente mostra l'aspetto della finestra di progettazione di app per la logica quando tutti i passaggi dell'app per la logica vengono eseguiti correttamente.
Riepilogo
In questa esercitazione, si è imparato a utilizzare un'app per la logica per esportare dati da Human Resources e a salvare i dati esportati in una cartella OneDrive for Business. È possibile modificare i passaggi di questa esercitazione come necessario in base alle proprie esigenze aziendali.