你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用于:Azure 逻辑应用(消耗型 + 标准型)
若要自动执行使用 Microsoft Dataverse 数据库的任务,可以将 Microsoft Dataverse 连接器 与 Azure 逻辑应用中的工作流配合使用。
例如,可以创建行、更新行,以及执行其他操作的工作流。 还可以从 Dataverse 数据库获取信息,并使输出可用于工作流中的其他动作。 例如,在 Dataverse 数据库中添加、更新或删除行时,可以使用 Office 365 Outlook 连接器发送电子邮件。
Dataverse 连接器以前称为 Common Data Service 2.0 连接器,最初称为 Dynamics 365 连接器。 可以使用 Dataverse 连接器访问 Microsoft Dataverse for Microsoft Dynamics 365 Sales、Microsoft Dynamics 365 客户服务、Microsoft Dynamics 365 Field Service、Microsoft Dynamics 365 Customer Insights - Journeys 和 Microsoft Dynamics 365 Project Service Automation。
本文介绍如何向工作流添加 Dataverse 触发器或作,以及参数选项的工作原理。
重要
自 2023 年 10 月以来,新工作流必须使用当前的 Dataverse 连接器操作。 旧版 Dataverse 连接器的操作不再适用于新工作流。
为了支持向后兼容性,旧版 Dataverse 连接器操作在弃用公告日期之后的一年内,可以继续在现有工作流中运行。 虽然没有特定的关闭日期,但请确保及时更新现有工作流以使用当前连接器操作。 有关详细信息,请参阅 Azure 逻辑应用的 Microsoft Dataverse(旧版)连接器将被弃用,并替换为另一个连接器。
连接器参考
有关基于连接器 Swagger 描述的技术信息,例如操作、限制和其他详细信息,请参阅托管连接器参考页。
先决条件
一个 Azure 帐户和订阅。 如果没有订阅,可以注册免费的 Azure 帐户。
Dataverse Data Service 环境和数据库,组织在其中存储、管理和共享 Dataverse 数据库中的业务数据。 有关详细信息,请参阅以下资源:
了解有关 Azure 逻辑应用程序的基本知识,以及您希望从中访问 Dataverse 数据库的消费型或标准逻辑应用资源和工作流。 若要使用 Dataverse 触发器,需要一个空白工作流。 要使用Dataverse操作,需要一个工作流,该工作流以适合你的场景的任意触发器开头。
有关详细信息,请参阅以下资源:
添加 Dataverse 触发器
根据使用的是“消耗”还是“标准”逻辑应用工作流,按相应步骤操作:
在 Azure 门户中,打开你的消耗逻辑应用资源。
在资源边栏上的“开发工具”下,选择设计器以打开工作流。
在设计器上,按照常规步骤将适用于你的应用场景的 Microsoft Dataverse 触发器添加到工作流。
本示例继续使用名为 “添加、修改或删除行”的触发器。
在提示符下,登录到 Dataverse 环境或数据库。
在触发器信息框中,提供必要的触发器值。
以下示例展示一个示例触发器:
完成后,保存工作流。 在设计器工具栏上选择“保存”。
现在,为您的工作流添加至少一个动作,以便在触发器触发时执行。
例如,可以添加一个Dataverse动作或一个根据触发器输出发送电子邮件的动作。
添加 Dataverse 操作
根据使用的是“消耗”还是“标准”逻辑应用工作流,按相应步骤操作:
在 Azure 门户中,打开你的消耗逻辑应用资源。
在资源边栏上的“开发工具”下,选择设计器以打开工作流。
在设计器中,按照以下 常规步骤将 Microsoft Dataverse 动作添加到您的方案工作流中。
此示例继续执行名为 “添加新行”的作。
在提示符下,登录到 Dataverse 环境或数据库。
在操作信息框中,提供必要的操作值。
以下示例演示示例操作:
完成后,保存工作流。 在设计器工具栏上选择“保存”。
如有需要,可以继续添加更多操作。
测试工作流
若要运行工作流,请执行以下步骤:
在设计器工具栏上,选择“ 运行>运行”。
重现触发器运行工作流所需的条件。
基于过滤器返回数据行
对于返回行的操作(如 列出行 操作),可以使用 ODATA 查询,根据指定的筛选器返回行。 例如,可将操作设置为仅返回活动帐户的行。
有关详细信息,请参阅以下文档:
基于排序顺序返回行
对于返回行的作(如 列表行 作),可以使用 ODATA 查询返回特定序列中的行,该查询因作返回的行而异。 例如,可将操作设置为返回按帐户名称组织的行。
有关详细信息,请参阅以下文档:
字段数据类型
在触发器或动作中,字段值的数据类型必须与字段所需的数据类型匹配。 无论是手动输入值还是从动态内容列表中选择值,此要求都适用。
例如,假设你有一个名为 Tasks 的表。 此表具有仅适用于该表的字段,而其他表具有其自己的字段。 对于示例 “任务” 表,下表描述了一些示例字段类型和这些字段对其值所需的数据类型。
| 字段 | 数据类型 | Description |
|---|---|---|
| 文本字段 | 单行文本 | 需要具有文本数据类型的单行文本或动态内容,例如,这些属性: - 描述 - 类别 |
| 整数字段 | 整数 | 需要具有整数数据类型的整数或动态内容,例如,这些属性: - 完成百分比 - 持续时间 |
| 日期字段 | 日期和时间 | 需要采用 MM/DD/YYY 格式的日期或具有日期数据类型的动态内容,例如以下属性: - 创建时间 - 开始日期 - 实际开始时间 - 实际结束 - 期限 |
| 引用另一实体行的字段 | 主密钥 | 需要行 ID(如 GUID)和查找类型,这意味着动态内容列表中的值不起作用,例如,这些属性: - 所有者:必须是有效的用户 ID 或团队行 ID。 - 所有者类型:必须分别为查找类型,例如 systemusers 或 teams。 - 相关:必须是有效的行 ID,例如帐户 ID 或联系人行 ID。 - 相关类型:所有者类型:必须是一个查找类型,例如 accounts 或 contacts。 - 客户:必须是有效的行 ID,例如帐户 ID 或联系人行 ID。 - 客户类型:必须是查找类型,分别例如 accounts 或 contacts。 |
对于示例 “任务 ”表,假设使用 “添加新行 ”作创建与其他实体行(特别是用户行和帐户行)关联的新行。 因此,在此作中,必须使用与相关属性的预期数据类型匹配的值来指定这些实体行的 ID 和查找类型。
根据Owner属性(该属性指定用户 ID),以及所有者类型属性(该属性指定
systemusers查找类型),该动作将新行与特定用户相关联。根据 Regarding 属性,该属性指定行 ID,以及指定查找类型的
accounts属性,该作将新行与特定帐户相关联。
生成的操作如下例所示:
故障排除
来自多个环境的调用
Dataverse 连接器存储逻辑应用工作流的相关信息,这些工作流使用 Dataverse 数据库中的 callbackregistrations 实体获取和请求数据库实体变更通知。 如果复制 Dataverse 组织,则任何 webhook 也会被复制。 如果在禁用映射到组织的工作流之前复制组织,则任何复制的 Webhook 也会指向相同的逻辑应用工作流,后者随后会从多个组织获取通知。
若要停止不需要的通知,请按照以下步骤从组织中删除 callbackregistrations 发送这些通知的实体:
确定并登录到要从中删除通知的 Dataverse 组织。
在 Chrome 浏览器中,找到要删除的回调注册。
在以下 OData URI 查看所有回调注册的泛型列表,以便可以查看
callbackregistrations实体中的数据:https://{organization-name}.crm{instance-number}.dynamics.com/api/data/v9.0/callbackregistrations:注释
如果未返回任何值,则可能没有查看此实体类型的权限,或者可能尚未登录到正确的组织。
筛选触发实体的逻辑名称
entityname和与逻辑应用工作流(消息)匹配的通知事件。 每个事件类型都映射到消息整数,如下所示:事件类型 消息整数 创建 1 删除 2 Update 3 CreateOrUpdate 4 创建或删除 5 更新或删除 6 CreateOrUpdateOrDelete 7 以下示例显示了如何为示例组织使用以下 OData URI 筛选名为
Create的实体上的nov_validation通知:https://fabrikam-preprod.crm1.dynamics.com/api/data/v9.0/callbackregistrations?$filter=entityname eq 'nov_validation' and message eq 1注释
如果同一实体或事件存在多个触发器,则可以使用其他筛选器(如
createdon和_owninguser_value属性)筛选列表。 用户所有者的名称显示在/api/data/v9.0/systemusers({id})下方。找到要删除的回调注册的 ID 后,请执行以下步骤:
在 Chrome 浏览器中,打开 Chrome 开发人员工具(键盘:F12)。
在窗口顶部,选择 “控制台 ”选项卡。
在命令行提示符下,输入此命令,该命令发送请求以删除指定的回调注册:
fetch('http://{organization-name}.crm{instance-number}.dynamics.com/api/data/v9.0/callbackregistrations({ID-to-delete})', { method: 'DELETE'})重要
确保从非统一客户端接口(UCI)页面发出请求,例如,从 OData 或 API 响应页本身发出请求。 否则,app.js 文件中的逻辑可能会干扰此作。
若要确认回调注册不再存在,请检查回调注册列表。
重复的“callbackregistrations”实体
在标准工作流中,在实例重新分配或应用程序重启等特定条件下,Microsoft Dataverse 触发器将启动重复运行,从而在 Dataverse 数据库中创建重复 callbackregistrations 实体。 如果编辑以 Dataverse 触发器开头的标准工作流,请检查此 callbackregistrations 实体是否重复。 如果存在重复项,请手动删除重复 callbackregistrations 实体。