添加、修改或删除行时触发流

添加、修改或删除行时触发器只要选定表和范围的行发生更改或创建时即会运行流。

先决条件

  • 要创建在创建、修改或删除行时触发的流,您必须对回拨注册表有创建、读取、写入和删除用户级别权限。

  • 此外,根据流中定义的范围,您可能至少需要对同一个表具有该读取级别。 您可以获取有关环境安全性的详细信息。

要使用添加、修改或删除行时触发器,需要以下信息。

  • 触发条件
  • 表名
  • 作用域

备注

Power Automate 使用经典云端流设计器或带有 Copilot 的云端流设计器。 要确定您使用的是哪种设计器,请转至了解具有助手功能的云端流设计器中的注释部分。

直接在卡上为添加、修改或删除行时触发器设置参数。

屏幕截图

触发条件

触发条件(更改类型)精确定义了行更改的哪种组合将运行流。

通过创建、更新或删除行来触发流时,triggerOutputs()['body/SdkMessage'] 的值将分别为 CreateUpdateDelete

如果表中的一个行有多个更新,Power Automate 将为每个更新评估触发器,即使该行上正在更新的值与前一个值相同。 这些更新可能导致多个流运行。

表名

表名称列表会筛选行,以准确指示在触发流之前应更改哪种行。 请参阅 Dataverse 中的表

添加、修改或删除行时触发器不支持在 1:N 或 N:N 类型的关系上触发流。

作用域

范围列表指示应监视这些行以确定是否应运行流。

下面是每个范围的含义:

Scope 行所有权级别
业务部门 业务部门中的任何人所有的行执行了操作。
组织 环境中的任何人执行了操作。
上:下级业务部门 对您的业务部门或下级业务部门中的任何人所有的行执行操作。
用户 对您所有的行执行操作。

高级选项

您可以设置其他属性,来更细粒度地定义流运行时间以及运行时所依据的用户配置文件。

要访问高级选项,请选择显示高级选项

高级选项屏幕截图。

筛选条件

使用筛选条件为何时触发流设置条件。

筛选器列

使用 选择列 框可定义行的特定列,这些列应导致流在包含在请求中时运行,作为唯一列名称的逗号分隔列表。 在更新请求中仅包含值已更改的列。 当包含的值与现有值相同时,流将运行。

此属性仅适用于更新条件。 创建删除适用于行的所有列。

虚拟表上不支持此属性。

筛选器表达式

筛选表达式为您提供定义 OData 样式筛选表达式的方法,帮助您更加精确地定义触发条件。 仅当在 Dataverse 中保存更改后,表达式的计算结果为 true 时,流才会运行。 在下列示例中,firstname 更新为 "John" 时触发了流。

过滤器行的示例:

firstname eq 'John'

contains(firstname,'John')

要了解如何构建这些筛选表达式,请参阅标准筛选运算符查询函数中的示例。

与引用链接中的示例不同,您的表达式不能包含字符串 $filter=。 此字符串仅在您直接使用 API 时适用。

使用延迟截止时间的等待条件

延迟截止时间属性中使用 OData 样式的时间戳将流触发器延迟到特定的 UTC 时间。

使用 Dataverse Delay until 属性而不是标准延迟截止时间操作的主要好处是 Dataverse Delay until 属性永不过期,允许流运行等待很长一段时间。

使用 Run As 的用户模拟

流所有者必须具有 Microsoft Dataverse 特权代表其他用户执行操作 (prvActOnBehalfOfAnotherUser)。 代理安全角色默认包含此特权。 您可以对任何安全角色启用此特权。 有关详细信息,请转到模拟其他用户

创建具有添加、修改或删除行时触发器的流时,可以将流中的每个 Microsoft Dataverse 操作设置为使用用户(而不是流所有者)的上下文来执行。

请按照以下步骤模拟用户。

  1. 在设计器中,为运行方式选择一个值,以告诉 Microsoft Dataverse 您打算为后续 Dataverse 操作使用哪个用户上下文。
  2. 对于您希望作为不同用户运行的每个 Dataverse 操作,选择省略号 (...),然后选择使用调用者的连接设置。

对于未选择此设置的步骤,将假定为默认用户。 这将根据所选用户而不是流所有者调用基础 API。 如果未指定,默认为创建流的流所有者—实质上是作者。

以下是其他选项:

  • 流所有者:创建流的用户。

  • 行所有者:拥有经过更改(导致流被触发)的 Microsoft Dataverse 行的用户。 如果行归团队所有,则此选项将回退到以流所有者身份运行。

  • 修改用户:在 Microsoft Dataverse 行上执行操作(导致流被触发或修改)的用户。

此外,即时流允许在使用调用程序连接的同一流中运行任何其他连接器(如 Microsoft TeamsMicrosoft 365 OutlookSharePoint)的步骤。 为此,请执行以下步骤:

  1. 转到流概览页。

  2. 仅运行用户设置上选择编辑

  3. 管理仅运行权限窗格中,转到用户和组选项卡,然后在已使用连接列表下面选择由仅运行用户提供