创建定期数据导出应用
适用于以下 Dynamics 365 应用:
Human Resources
本文介绍如何创建 Microsoft Azure 逻辑应用,按定期计划导出数据 Microsoft Dynamics 365 Human Resources 。 本教程利用 Human Resources 的 DMF 包 REST 应用程序编程接口 (API) 来导出数据。 导出数据后,逻辑应用将导出的数据包保存到 Microsoft OneDrive for Business 文件夹。
业务方案
在 Microsoft Dynamics 365 集成的一种典型业务方案中,必须按重复执行的计划将数据导出到下游系统。 本教程展示了如何从 Microsoft Dynamics 365 Human Resources for Business 文件夹中 OneDrive 导出所有工作人员记录并保存工作人员列表。
提示
本教程中导出的特定数据以及导出数据的目标位置仅是示例。 您可以轻松地更改它们以满足您的业务需求。
使用的技术
本教程使用以下技术:
Dynamics 365 Human Resources - 将要导出的工作人员的主数据源。
Azure 逻辑应用 –提供定期导出的编排和计划的技术。
连接器 –用于将逻辑应用连接到所需终结点的技术。
DMF 打包 REST API –用于扳机键导出并监视其进度的技术。
OneDrive for Business –输出工作人员的目的地。
先决条件
在开始本教程中的练习之前,您必须具有以下各项:
- 在环境中具有管理员级权限的 Human Resources 环境
- 用于托管逻辑应用的 Azure 订阅
练习
在本练习结束时,您将拥有一个逻辑应用,该应用已连接到您的 Human Resources 环境和 OneDrive for Business 帐户。 逻辑应用将从 Human Resources 导出数据包、等待导出完成、下载导出的数据包,然后将数据包保存在您指定的 OneDrive for Business 文件夹中。
完成的逻辑应用将类似于下图。
步骤 1:在 Human Resources 中创建数据导出项目
在 Human Resources 中,创建一个导出工作人员的数据导出项目。 将项目命名为导出工作人员,并确保将生成数据包选项设置为是。 将单个实体(工作人员)添加到项目,然后选择导出要使用的格式。 (本教程使用 Microsoft Excel 格式。)
重要
记住数据导出项目的名称。 在下一步中创建逻辑应用时,将需要用到它。
步骤 2:创建逻辑应用
大部分练习涉及创建逻辑应用。
在 Azure 门户中,创建一个逻辑应用。
在逻辑应用设计器中,从空白逻辑应用开始。
添加重复执行计划触发器,每 24 小时(或根据您选择的计划)运行一次逻辑应用。
调用 ExportToPackage DMF REST API 计划数据包的导出。
从带有 Microsoft Entra 连接器的 HTTP 使用调用 HTTP 请求操作。
- 基础资源 URL: 您的 Human Resources 环境的 URL(不包含路径/命名空间信息。)
- Microsoft Entra 资源 URI:
http://hr.talent.dynamics.com
注释
Human Resources 服务尚未提供用于公开构成 DMF 包 REST API(如 ExportToPackage)的所有 API 的连接器。 您必须通过带有 Microsoft Entra 连接器的 HTTP 使用原始 HTTPS 请求来调用 API。 此连接器使用 Microsoft Entra ID 对 Human Resources 进行身份验证和授权。
通过带有 Microsoft Entra 连接器的 HTTP 登录到您的 Human Resources 环境。
设置 HTTP POST 请求以调用 ExportToPackage DMF REST API。
方法: POST
请求 https://<的 URL:hostname>/namespaces/<namespace_guid>/data/DataManagementDefinitionGroups/Microsoft.Dynamics.DataEntities.ExportToPackage
请求的正文:
{ "definitionGroupId":"Export Workers", "packageName":"talent_package.zip", "executionId":"", "reExecute":false, "legalEntityId":"USMF" }
提示
您可能需要重命名每个步骤,以使其比默认名称调用 HTTP 请求更有意义。 例如,您可以重命名此步骤 ExportToPackage。
初始化变量 以存储 ExportToPackage 请求的 执行状态。
等待直到数据导出的执行状态为已成功。
添加一个一直重复到 ExecutionStatus 变量的值为已成功的 Until 循环。
添加等待五秒钟,然后才轮询导出的当前执行状态的延迟操作。
注释
将限制计数设置为 15,以最多等待 75 秒(15 次迭代 × 5 秒)完成导出。 如果导出需要更多时间,请适当调整限制计数。
添加调用 HTTP 请求操作以调用 GetExecutionSummaryStatus DMF REST API,并将 ExecutionStatus 变量设置为 GetExecutionSummaryStatus 响应的结果。
此示例不进行错误检查。 GetExecutionSummaryStatus API 可以返回不成功的终端状态(即,已成功以外的状态)。 有关详细信息,请参阅 API 文档。
方法: POST
请求 https://<的 URL:hostname>/namespaces/<namespace_guid>/data/DataManagementDefinitionGroups/Microsoft.Dynamics.DataEntities.GetExecutionSummaryStatus
请求的正文: body('Invoke_an_HTTP_request')?['value']
注释
您可能必须在代码视图或设计器的函数编辑器中输入请求的正文值。
重要
设置变量操作的值 (body('Invoke_an_HTTP_request_2')?['value']) 与调用 HTTP 请求 2 正文值的值不同,即使设计器将以相同方式显示这些值。
获取导出包的下载 URL。
添加调用 HTTP 请求操作以调用 GetExportedPackageUrl DMF REST API。
- 方法: POST
- 请求 https://<的 URL: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
注释
您可能必须在代码视图或设计器的函数编辑器中输入 URI 值。
注释
此请求不需要任何其他身份验证,因为 GetExportedPackageUrl API 返回的 URL 包含一个共享访问签名令牌,该令牌授予下载文件的访问权限。
使用 OneDrive for Business 连接器保存下载的包。
添加 OneDrive for Business 创建文件操作。
根据需要连接到您的 OneDrive for Business 帐户。
- 文件夹路径: 您选择的文件夹
- 文件名: worker_package.zip
- 文件内容: 上一步骤的正文(动态内容)
步骤 3:测试逻辑应用
要测试您的逻辑应用,在设计器中选择运行按钮。 您将看到逻辑应用的步骤开始运行。 30 到 40 秒后,逻辑应用应会完成运行,您的 OneDrive for Business 文件夹应包括一个包含导出的工作人员的新包文件。
如果报告有任何步骤失败,在设计器中选择失败的步骤,然后检查步骤的输入和输出字段。 根据需要调试并调整步骤以更正错误。
下图显示了逻辑应用的所有步骤成功运行时逻辑应用设计器呈现的状态。
摘要
在本教程中,您学习了如何使用逻辑应用从 Human Resources 导出数据并将导出的数据保存到 OneDrive for Business 文件夹。 您可以根据需要修改本教程的步骤以适合您的业务需求。