简介

已完成

本模块阐述如何通过触发器定义扩展自定义连接器的功能。

在本模块中,您将:

  • 了解自定义连接器中的触发器。

  • 发现可以使用触发器的常见应用场景。

  • 标识不同类型的触发器。

  • 了解如何将自定义连接器定义扩展到使用服务 API 定义的触发器。

触发器可用于扩展 Microsoft Power Automate 和 Microsoft Azure 逻辑应用中的连接器功能,其中系统需要响应基础数据或服务中的变化。 使用触发器的常见应用场景是创建一个云端流,该云端流从基础数据更改时开始,例如“创建记录时”,或在自定义连接器定义的服务中发生特定活动时,例如“引发警报时”。

Power Automate 和逻辑应用中的触发器

Power Automate 和逻辑应用定义触发器为启动云端流或逻辑应用工作流的活动。 这些活动可以由用户发起,可以预定,也可以由连接器(包括自定义连接器)生成。 触发器定义对自定义连接器进行扩展,允许使用这些连接器启动云端流和逻辑应用工作流。

屏幕截图:生成自动云端流并为流选择触发器时的第一个提示。

大多数连接器将触发器概要定义为“当 <object> 是 <verb> 时”,典型的连接器实现包括一个或多个操作的触发器。

触发器的类型

以语音信箱管理系统为例。 此类系统中的触发器可能是“收到新语音信箱消息”活动。 您可以通过两种方式来定义采用什么方法标识是否已收到新的语音信箱消息:

  • 定期调用语音信箱并检查新消息。 本行为描述的是轮询触发器,即通过从基础服务中轮询数据来实现。 轮询触发器是一个定时活动,该活动会按照可配置的定期时间间隔启动对服务 API 的调用,以确定是否有新数据可用。 要支持轮询触发器,API 可以根据状态筛选结果。 该状态通常以时间为基础,例如“返回自昨天以来收到的所有语音信箱消息”。

  • 收到新语音消息后,要求语音信箱系统向您发送电子邮件。 本方法定义的是由服务推送数据的 Webhook 触发器或实现方式。 支持 Webhook 触发器的服务必须能够维护要回电的联系人列表并知道如何回电。 在语音信箱示例中,它将是电子邮件地址的列表,并且能够发送通知邮件。

基本上,在这两种类型的触发器中,负责操作管理的人员不相同。

轮询 Webhook
首先设置状态 在服务中注册
定期检查更新 在活动发生时发出信号
请求自上次状态更新以来的所有新数据 自动拆分
服务维护状态 Power Automate 或逻辑应用管理注册和取消注册 Webhooks 的流程

重要提示

REST API 对服务可用并不意味着可以定义自定义连接器触发器。 基础服务需要能够增量返回数据或提供 Webhook 实现。 如果需要触发器,但服务 API 不具备任何一项功能,则开发人员需要扩展该服务,以便用户能够定义触发器。

定义触发器

和连接器定义大体类似,这两种触发器均由 OpenAPI (Swagger) 文档定义,它指定终结点、参数、条件和响应。 但是,Microsoft Power Platform 所使用的 OpenAPI 说明版本未区分操作和触发器。 Microsoft Power Platform 通过添加自定义 OpenAPI 扩展来扩展说明,以定义触发器及其内容。

它提供触发器的步骤向导,并且常规布局与操作向导相同。

屏幕截图:自定义连接器向导中的定义步骤。在本示例中,定义的新触发器是“在创建发票时”。

与自定义连接器操作一样,选择一个良好的触发器概要非常重要。 概要在创建者搜索连接器时使用。创建者选择触发器后,Power Automate 和逻辑应用中的默认步骤标题将显示其概要。

触发器与操作不同。大部分操作可在自定义连接器设计器中完全构建,而触发器可能更为复杂,并且通常需要手动修改。 本模块介绍如何在轮询和 Webhook 应用场景中创建触发器定义。