適用於這些 Dynamics 365 應用程式:
人力資源
本文說明如何在重覆性排程上,建立從 Microsoft Dynamics 365 Human Resources 匯出資料的 Microsoft Azure 邏輯應用程式。 本教學課程充分運用 Human Resources 的 DMF 封包 REST 應用程式編寫程式界面 (API) 來匯出資料。 資料匯出後,Logic App 會將匯出的資料套件儲存到 Microsoft OneDrive 資料夾。
業務案例
在一個典型的商業情境中,Microsoft Dynamics 365整合需要定期將資料匯出到下游系統。 這個教學示範如何從 Microsoft Dynamics 365 Human Resources 匯出所有工人紀錄,並將工人名單儲存在 OneDrive 資料夾中。
Tip
你在這教學中匯出的具體資料以及匯出資料的目的地只是範例。 您可以輕鬆變更它們以符合您的業務需求。
使用的技術
本教學課程使用技術如下:
Dynamics 365 Human Resources – 你匯出的工人主資料來源。
Azure Logi Apps – 提供協調流程的技術與重覆性匯出的排程。
連接器 – 將邏輯應用程式連接到所需端點的技術。
DMF 套件 REST API – 觸發匯出並監控進度的技術。
OneDrive – 出口工人的目的地。
先決條件
在開始這個教學的練習前,請確保你具備以下事項:
- 具備環境管理員級權限的 Human Resources 環境
- 託管邏輯應用程式的 Azure 訂閱
練習題
完成這個練習後,你會有一個邏輯應用程式,連接到你的人力資源環境和 OneDrive 帳號。 Logic 應用程式會從人力資源部匯出資料包,等待匯出完成後,下載匯出的資料包,並將資料包存到你指定的 OneDrive 資料夾中。
完成的邏輯應用程式外觀如下圖示。
第 1 步:在 Human Resources 建立資料匯出專案
請在 Human Resources 建立匯出背景工作角色的資料匯出專案 專案名稱 為「匯出工人」,並將 「產生資料套件 」選項設為 「是」。 新增單一實體 (背景工作角色) 到專案,然後選取要匯出的格式。 (本教學使用 Microsoft Excel 格式。)
Important
請記住資料匯出專案的名稱。 你在下一步建立 Logic 應用程式時就需要它。
步驟 2:建立邏輯應用程式
大部分練習都涉及開發邏輯應用程式。
請在 Azure 入口網站建立邏輯應用程式。
請從 Logic Apps Designer 的空白邏輯應用程式開始。
新增重覆性排程觸發程序每 24 小時執行一次邏輯應用程式 (或根據您選擇的時程)。
呼叫 ExportToPackage DMF REST API 排程您的資料封包匯出。
請使用 HTTP with Microsoft Entra 連接器中的叫用 HTTP 要求動作。
- 基礎資源網址: 你的人力資源環境網址(不要包含路徑或命名空間資訊)。
-
Microsoft Entra 資源 URI:
http://hr.talent.dynamics.com
Note
Human Resources 服務尚未提供連接器公開構成 DMF 封包 REST API 的所有 API,例如 ExportToPackage。 您必須改為透過 HTTP with Microsoft Entra 連接器,以原始 HTTPS 要求呼叫 API。 此連接器使用 Microsoft Entra 識別碼進行 Human Resources 的驗證和授權。
透過 HTTP Microsoft Entra 連接器登入您的 Human Resources 環境。
設定 HTTP POST 要求呼叫 ExportToPackage DMF REST API。
方法: POST
請求網址:
https://<hostname>/namespaces/<namespace_guid>/data/DataManagementDefinitionGroups/Microsoft.Dynamics.DataEntities.ExportToPackage要求本文:
{ "definitionGroupId":"Export Workers", "packageName":"talent_package.zip", "executionId":"", "reExecute":false, "legalEntityId":"USMF" }
Tip
您可能想要重新命名每個步驟,讓它比預設名稱更有意義,叫用 HTTP 要求。 例如,您可以重新命名這個步驟ExportToPackage。
初始化變數以便儲存 ExportToPackage 要求的執行狀態。
請等到資料匯出的執行狀態為成功。
新增直到迴圈重複到執行狀態變數值為成功為止。
新增延遲動作,在目前匯出的執行狀態輪詢之前等待五秒鐘的動作。
Note
將限制計數設定為 15 以便等待最長 75 秒 (15 次反覆運算 × 5 秒) 完成匯出。 如果您的匯出需要更長時間,請適時調整限制計數。
新增叫用 HTTP 要求動作以便呼叫 GetExecutionSummaryStatus DMF REST API,並設定執行狀態變數為 GetExecutionSummaryStatus 的回覆結果。
本範例並不檢查錯誤。 GetExecutionSummaryStatus API 可以傳回未成功的終端機狀態 (亦即,成功以外的狀態)。 更多資訊,請參閱 API 文件。
方法: POST
請求網址:
https://<hostname>/namespaces/<namespace_guid>/data/DataManagementDefinitionGroups/Microsoft.Dynamics.DataEntities.GetExecutionSummaryStatus請求內容:
body('Invoke_an_HTTP_request')?['value']Note
您可能需要在 Designer 的程式碼視圖或函數編輯器裡輸入要求本文值。
Important
Set 變數動作的值(body('Invoke_an_HTTP_request_2')?['value']) 與 Invoke an HTTP request 2 主體值的值不同,儘管設計者以相同方式顯示這些值。
取得匯出封包的下載 URL。
新增叫用 HTTP 要求動作以便呼叫 GetExportedPackageUrl DMF REST API。
- 方法: POST
- 要求的 URL: https://<hostname>/namespaces/<namespace_guid>/data/DataManagementDefinitionGroups/Microsoft.Dynamics.DataEntities.GetExportedPackageUrl
- 要求主體: {"executionId": body('GetExportedPackageURL')?['value']}
下載匯出的封包。
新增一個 HTTP GET 請求(內建的 HTTP 連接器動作),從前一步回傳的 URL 下載封包。
方法: GET
URI:body('Invoke_an_HTTP_request_3').value
Note
您可能需要在 Designer 的程式碼視圖或函數編輯器裡輸入 URL 值。
Note
本項要求不需要任何額外驗證,因為 GetExportedPackageUrl API 傳回的 URL 包括共用存取簽章 Token,授予下載檔案的訪問權。
用 OneDrive 連接器儲存下載的套件。
新增一個OneDrive檔案 Create File動作。
如有需要,連接你的 OneDrive 帳號。
- 資料夾路徑:您選擇的資料夾
- 檔案名稱:worker_package.zip
- 檔案內容:上一步的本文 (動態內容)
步驟 3:測試邏輯應用程式
要測試你的 Logic App,請在設計器中選擇 執行 。 你會看到 Logic App 的步驟開始執行。 大約 30 到 40 秒後,Logic 應用程式會執行完畢,你的 OneDrive 資料夾會新增一個包含匯出工作者(workers)的套件檔。
如果有任何一步回報失敗,請在 Designer 選取失敗的步驟,然後檢查它的輸入和輸出欄位。 根據需求偵錯和調整步驟以便改正錯誤。
以下圖示展示了當邏輯應用程式所有步驟成功執行時,Logic Apps 設計器的樣貌。
總結
在這個教學中,你學會了如何使用邏輯應用程式從人力資源部匯出資料,並將匯出後的資料儲存到 OneDrive 資料夾。 您可以根據需求修改本教學課程的步驟以符合您的業務需求。