构建 Power Automate 连接器
重要提示
此功能的部分或全部属于预览版内容。 相关内容和功能可能会发生更改。
本文向合作伙伴展示如何为 Microsoft Sustainability Manager 创建 Power Automate 连接器。
如果您需要建立 Power Query 模板连接器,请转到建立 Power Query 模板连接器。
步骤 1:创建环境
在此步骤中,您将创建一个解决方案,来分发给需要使用连接器导入数据的 Sustainability Manager 用户。
按照创建解决方案中的说明,在 Power Apps 中创建新的非托管解决方案。
将 Sustainability Manager 安装到该环境中。
步骤 2:创建连接器记录
在首选的文本编辑器中,创建一个名为 msdyn_dataconnectors.xml 的新文件。
复制并修改以下 XML 以适应您的详细信息:
<msdyn_dataconnectors> <msdyn_dataconnector msdyn_dataconnectorid="a1a87c17-40f1-ee11-1fd-6045bdef542d"> <iscustomizable>1</iscustomizable> <msdyn_name>Demo 3P Connector</msdyn_name> <msdyn_title>Demo 3P Connector</msdyn_title> <msdyn_connectorstatus>700610001</msdyn_connectorstatus> <msdyn_connectortype>700610006</msdyn_connectortype> <msdyn_description>Demo 3P connector</msdyn_description> <msdyn_supportlinkurl>https://www.microsoft.com</msdyn_supportlinkurl> <msdyn_logo_text> </msdyn_logo_text> <msdyn_parameterconfiguration> </msdyn_parameterconfiguration> </msdyn_dataconnector> </msdyn_dataconnectors>
参数 详情 msdyn_dataconnectorid 按照 GUID 格式生成新 GUID 来标识您的连接器。 在我们的示例中,我们使用 GUID = a1a87c17-40f1-ee11-1fd-6045bdef542d。 您的 GUID 是您的连接器标识符,您在以后的步骤中需要用到它。
msdyn_name msdyn_title将演示 3P 连接器更改为您的连接器的名称。 msdyn_connectorstatus 将此值保留为 700610001。 此值表示已发布的连接器。 msdyn_connectortype 将此值保留为 700610006。 此值表示连接器的类型。 在这种情况下,它是 Power Automate 连接器的值。 msdyn_description 为您的连接器添加简要说明。 msdyn_supportlinkurl 如果连接失败,将文本替换为您希望用户访问的 URL。 有关测试失败连接的信息,请转到错误处理测试。 如果没有此 URL,您的连接器将无法显示在 Sustainability Manager 中。 msdyn_logo_text 使用您选择的编码器对徽标图像编码并将其保存到 Base64。 图像应为 36 x 36 像素。 粘贴此参数中的 base 64 编码。 msdyn_parameterconfiguration 凭据窗体以 JSON 表示,Sustainability Manager 会对其进行解析来显示窗体的 UI。 根据需要更改此表之后提供的示例 JSON,然后将其添加到此参数中。 对于 msdyn_parameterconfiguration,您可以使用此示例 JSON 作为起点。
备注
msdyn_parameterconfiguration 的完整架构定义即将发布。
{ "parameterGroups": [ { "label": "Login", "fields": [ { "displayLabel": "Username", "type": "text", "key": "username", "required": true, "description": "Enter the username to login with" }, { "displayLabel": "Password", "type": "text", "key": "password", "mask": true, "required": true } ] }, { "label": "Data extraction parameters", "fields": [ { "displayLabel": "Watermark Date", "type": "datetime", "key": "watermarkDate" }, { "displayLabel": "Organization Unit", "type": "text", "key": "organizationUnit" }, { "displayLabel": "Facility", "type": "text", "key": "facility" }, { "displayLabel": "Installation instructions", "type": "note", "text": "To use this connector, you should first create an environment variable that contains the login credentials. Then create a flow that uses this connector." }, { "displayLabel": "How to create an environment variable in Azure Key Vault", "type": "link", "url": "https://docs.microsoft.com/azure/azure-functions/functions-how-to-use-azure-function-app-settings#settings" } ] } ] };
此 JSON 显示为:
步骤 3:创建 Power Automate 流
在此步骤中,您创建 Power Automate 流来检索用户凭据以及导入、转换和存储数据。
在 Power Automate 中,选择创建,然后选择自动化云端流。
输入流名称。 在选择流的触发器下,选择添加、修改或删除行时 Dataverse 触发器。
选择创建。
根据此表为添加、修改或删除行时输入触发器的属性。
字段 价值 更改类型 已添加 表名 数据导入作业 作用域 组织 选择列 不可用 筛选行 _msdyn_dataconnector_value eq <您之前创建的 GUID> 添加按 ID 获取行操作从 Dataverse 提取凭据。 您在 Sustainability Manager 中创建的每个数据导入在 msdyn_dataconnection 表中都有一个关联的连接记录。 该数据连接记录具有对 msdyn_providercredential 表的查找,该表将凭据链接到连接。 此操作从 msdyn_dataconnection 表读取,然后展开 msdyn_providercredentialid 的查询。 它还加载链接到连接的关联凭据记录。 连接行 ID 随触发器输出提供。
您现在可以使用分析 JSON 函数分析凭证 JSON。
备注
如果您决定使用 Key Vault 并提示用户创建存储凭据的环境变量,您可以参考本文了解如何从 Key Vault 获取凭据:使用 Azure Key Vault 机密的环境变量。
现在,您有了从数据源拉取用户数据的凭据,您需要添加使用 Power Automate 连接器从源提取数据的操作。 您的逻辑只需要拉取自上次成功刷新以来的增量数据。 您可以使用 msdyn_dataconnection 表中的 msdyn_lastrefresh 列来检查上次刷新时间。 如果此值为 null 或为空,您可以假设这是第一次运行。
提取数据后,将其转换为 Cloud for Sustainability 数据模型,并将其存储在 CSV 表中。 一种方法是添加创建 CSV 表操作。 此表的标题是连接器正在导入的实体的列的逻辑名称。 该值可以是硬编码的,也可以来自您从源中提取的数据。 例如:
创建可持续性数据连接映射。 添加 Dataverse 操作,在可持续性数据连接映射记录中创建新记录。
在创建此记录之前,获取实体的可持续性数据定义 ID,以与连接器一起引入。 若要获取 Sustainability 数据定义 ID,请在门户中选择 Tables(表 Power Apps )选项卡。全选表并搜索Sustainability data definition(可持续性数据定义 )。
在此示例中,完成所需的列以及映射列。 在映射列内输入任意字符串。 从触发器获取连接 ID。
创建连接刷新,即连接运行的实例。 在此示例中,msdyn_dataimportjobid 和 msdyn_dataconnectionid 来自触发器输出。 msdyn_sustainabilitydataconnectionmapid 是您之前创建的记录的 ID。
更新连接记录以将其与数据导入作业关联。 在此示例中,msdyn_dataimportjobid 和 msdyn_dataconnectionid 来自扳机键输出: /msdyn_dataimportjobs(msdyn_dataimportjobid= dataimport job id )。 <>
将 CSV 文件上载到数据连接刷新记录。 添加操作,将 CSV 文件上载到您之前使用 Dataverse 操作创建的连接刷新记录中。 您的文件不能超过 2 GB。
使用 Dataverse action 扳机键 unbound action,这将触发 IMPORT。 提供您作为触发器的一部分收到的 dataimportJobId。