触发器

已完成

根据 Power Automate 的定义,触发器是指启动云端流的事件。 这些事件可以由用户发起、可以预定,也可以由连接器(包括自定义连接器)生成。

Power Automate 中使用的触发器由连接器定义。 每个连接器都有自己的一组触发器。 连接器分为两组:

  • 表格 - 这些连接器适用于表格中所存储数据的数据源。 Dataverse 是一个表格连接器。 表格连接具有创建、更新和删除记录的触发器。
  • 基于功能 - 这些触发器适用于云服务,如 Twitter 或 Microsoft Outlook。 这些触发器与相应服务中的功能相关。 例如,Outlook 连接器具有电子邮件接收时间触发器。

触发器类型

用于启动 Power Automate 云端流的三种触发器类型分别为:

  • 自动化触发器 - 由定义的连接器事件启动的流,例如新记录创建或特定文件夹中显示的文件。
  • 即时触发器 - 由用户发起的流,例如应用中的按钮选择。
  • 计划触发器 - 定期(例如每个工作日上午 9:00 或每小时)运行的流。

本部分将重点介绍如何使用 Dataverse 触发器。 数据事件可以触发自动化流。 Dataverse 连接器具有多个自动化触发器。 最常用的是创建、修改或删除记录时。 此外,还存在选择行时和执行操作时的触发器。 让我们暂时了解一下“添加、修改或删除行时”。

在触发器步骤中,指定触发器条件:

  • 已添加
  • 已添加或已删除
  • 已添加或已修改
  • 已添加、已修改或已删除
  • 已删除
  • 已修改
  • 已修改或已删除

当流步骤从业务流程流运行时,Dataverse 连接器有一个即时触发器。 此功能允许业务流程流步骤中的用户启动 Power Automate 云端流。

选择某一行时,Dataverse 连接器有一个即时触发器。 此功能允许用户使用模型驱动应用窗体手动启动 Power Automate 云端流。

例如,使用 Power Automate 云端流的一个常见模式是使用计划触发器运行功能以检索所有当天到期的行,然后每天循环处理这些行。 此流可以调用具有 Dataverse 触发器的子流。

轮询触发器与推送触发器

触发器表示就已发生的事件向 Power Automate 云端流发送的通知。 触发器主要分为两类:轮询和推送。 轮询触发器会以一定频率重复调用 API 以检查新消息。 当有新数据可用时,触发器便会运行流。 计时器触发器就属于轮询触发器的范畴。 推送触发器会对服务中的新数据推送做出响应。

您在使用触发器时,看不到表明某个触发器是轮询触发器还是推送触发器。 已弃用的 Dynamics 365 连接器使用的是轮询触发器;更为现代的 Dataverse 连接器使用的是推送触发器。 推送触发器更高效,也更实时。

并非所有连接器都有触发器。 在此类情况下,您可以使用计划触发器,然后检索自上次运行以来变更的数据。 换句话说,这将使用轮询模式。 您在使用本模式时,需要确保运行流的频率不要太频繁,并且每次迭代之间应预留几分钟时间。

使用筛选器

解决方案架构师应考虑最大限度减少每个云端流的流运行次数。 很多人在创建和更新触发器时常犯的一个 Power Automate 错误是检索行,然后通过某个条件来检查该流是否需要执行任何操作。 有了 Dataverse 连接器,您无需再检索行;相应触发器步骤中已经包含新的/更改的数据。

此外,与其他触发器一样,Dataverse 连接器可以在触发器中应用筛选器。 筛选器(包括选择列筛选行)可限制触发器查看的数据并减少不必要的运行。

在触发器上应用筛选器的连接器的屏幕截图。

以下是这两个筛选器的工作原理:

  • 选择列 - 仅当以逗号分隔的列唯一名称列表中指定的任何列发生更改时,才会触发该流。
  • 行筛选 - OData 表达式可以限制可触发流的行。 换句话说,流仅考虑满足条件的行。

在 Dataverse 中,即使触发器的输出结果中包含某一列,也并不意味着该列的值已变更。 如需确保仅处理变更的值,您需要使用带原图像和后图像的插件。

注意

如果流出现在解决方案中,则即时触发器在应用中不可见。