触发器是在 Power Automate 中启动云端流的事件。 例如,要在收到电子邮件时在 Microsoft Teams 中获得通知,您可以设置一个触发器,在电子邮件到达收件箱时启动流。 触发器是流的起点,可以基于各种事件。
触发器的类型
在 Power Automate 中主要有两种类型的触发器。 创建流后,触发器将自行注册,以轮询它连接到的服务,或侦听服务中的事件。 然后,当指定事件发生时,触发器将激活流。
轮询触发器:定期检查(或轮询)服务,查看是否发生了特定事件。
示例:SQL 触发器可能会定期轮询 SQL 服务器,检查是否有新记录或更新记录,或是否有符合特定条件的其他更改。
流关闭行为:当流开启时,所有未处理或待处理的事件都会被处理。 如果您不希望在重新打开流时处理挂起项目,请删除然后重新创建流。
Webhook 触发器:实时监听特定事件。 事件发生时,服务会向 Power Automate 发送通知以启动流。
示例:Outlook 触发器会监听收到的电子邮件,并在新邮件到达时立即触发流。 在这种情况下,触发器将侦听 Outlook 服务,并在收到电子邮件后立即触发流。
流关闭行为:当流再次开启时,它会处理流开启后产生的任何新事件。
轮询触发器
注册轮询触发器后,它会每 X 分钟定期检查一次服务,以根据应用于触发器的筛选器检索任何新的或修改的记录/事件的详细信息。 这些检查的频率取决于用户的许可证和上次轮询的时间戳。 每隔 X 分钟,它就会根据此时间戳再次轮询服务。
请注意以下情形:
- 触发器设置为在创建新的 SQL 记录时激活,并且每分钟(或以指定的时间间隔)轮询 SQL 服务。 该流旨在检索自上次轮询以来创建的任何记录的信息。
- 如果找到新记录,则触发流。 如果未找到新记录,则跳过运行。
- 当流停止时(例如,9 月 13 日中午 12:30),触发器会记录此时间戳。
- 当流重新启动时(例如,太平洋时间 9 月 14 日下午 1:30),触发器会针对上次轮询时间(9 月 13 日中午 12:30)和当前时间(9 月 14 日下午 1:30)之间创建的所有事件轮询服务。
此行为可确保不会丢失任何数据,即使流由于错误或限制而暂时停止也是如此。
请记住:
- 关闭流不会取消注册触发器。 它只会暂停轮询。 此设计可确保在流重新启动时不会丢失数据。
- 若要完全重置轮询行为,需要创建流的新副本。 这将在首次打开流时重新注册触发器,您应删除现有流以避免冲突。
Webhook 触发器
Webhook 触发器的操作方式与轮询触发器不同。 Webhook 触发器不会定期检查服务,而是向服务注册以在发生特定事件时接收通知。 以下是 Webhook 触发器的工作原理:
- 注册:创建 Webhook 触发器时,它会注册服务,以表明它希望接收某些事件的通知。
- 事件通知:Webhook 是简单的 HTTP 回调,用于提供事件通知。 当指定事件发生时,服务会向 Webhook 触发器发送事件通知,其中包含该事件的所有详细信息。
- 流激活:Power Automate 允许将 Webhook 用作触发器。 当 Webhook 触发器收到事件通知时,它会激活流,然后执行指定的操作。
了解更多信息:我的触发器正在触发旧事件
设置触发器条件
许多 Power Automate 用户都会遇到这样的问题:每次在数据源中添加新行或修改现有行时,他们的流都会运行。 但是,通常在某些情况下,您只希望流在满足特定条件时执行。 若要实现此行为,需要正确配置触发器。 通过为触发器设置合适的条件,可以确保流仅在必要时运行,从而提高效率并减少不必要的执行。
假设任何提交支出超过 $100 的用户都需要获得经理的批准。 如果未指定触发条件,则流将针对提交的每个支出运行,并且流作者必须指定其他条件来筛选大于 $100 的支出。 通过实施触发条件,可以确保仅在支出超过 $100 时触发流。
在所示示例中,每当添加、修改或删除一行时都会触发一个流。 条件检查金额是否大于 100,如果满足条件,则开始审批。 每次添加、修改或删除表中的数据时,都会启动该流。
在此示例中,流包括添加、修改或删除行时操作的触发条件,该条件检查金额是否大于 100,然后启动审批。 只有当金额字段中的值大于 100 时,此流才会启动
小费
Power Automate 中的 OData 过滤器属性是一项强大的功能,可让您根据 Dataverse 数据的变化,为何时触发流定义精确的条件。 您可以指定条件和可以触发流的列的名称。 此方法有助于优化流性能,并确保流仅在必要时运行。
配置并发控制
在某些情况下,您的流可能会与吞吐量有限的数据源交互。 在这种情况下,配置触发器的并发控制有助于更有效地管理流的执行。
默认情况下,当满足云端流触发器的条件时,会同时执行尽可能多的运行。 不过,您可以通过调整并发控制设置来改变这种行为,并发控制允许您限制并发运行的数量,最小为 1,最大为 100。 任何其他运行都将自动排队。
要使用并发控制,请执行以下操作:
限制吞吐量资源:如果您的自动化依赖于不支持并行执行的内部资源,配置并发控制可以防止资源超载。
防止争用条件:限制并发可确保一次只运行一个流实例,避免并行执行可能导致脏读(dirty-read)的争用条件。
要配置并发控制:
- 在 Power Automate 门户中,打开要配置的流。
- 选择触发器。
- 在设置中启用并发控制选项。
- 指定要允许的最大并发运行数。 您可以将数字设置在 1 到 100 之间。
- 保存更改,将并发控制设置应用到流中。
重要考虑因素
- 可逆操作:并发控制设置一旦应用,就无法撤销。 若要删除并发控制,需要创建新流。 因此,请谨慎操作。
- 最佳实践:最好将并发控制保留为默认设置。 如果需要应用并发控制,请考虑在操作数量最少的流中应用。 例如,可以将需要并发控制的操作组织到专门的子流中,只在子流中应用并发控制。