查看 Application Integration 支持的连接器。
Cloud Pub/Sub 触发器
借助 Cloud Pub/Sub 触发器,您可以根据 Pub/Sub 中间件中的事件运行集成。
使用此触发器时,只要发布者将消息写入您选择的主题,您就可以执行集成。主题可以与集成位于同一 Google Cloud 项目中,或者
其他 Google Cloud 项目中的资源当此触发器执行时,还会将已发布的消息写入
CloudPubSubMessage
输出变量。根据您的要求,您可以在下游触发器或任务中使用此变量。
如需了解如何使用应用集成和 Cloud Pub/Sub 触发器创建示例集成,请参阅监听 Cloud Pub/Sub 主题并发送电子邮件。
准备工作
在配置 Cloud Pub/Sub 触发器之前,请确保在您的 Google Cloud 项目中执行以下任务。
- 分配 Project IAM Admin (
roles/resourcemanager.projectIamAdmin
) 创建此触发器的用户 - 启用 Pub/Sub API 。
- 确认您具有 Pub/Sub 主题。如需创建新的 Pub/Sub 主题,请执行以下操作:
- 转到 Cloud 控制台中的 Pub/Sub 主题页面。
- 点击创建主题。
- 在主题 ID 字段中,提供唯一的主题名称。
- 点击保存。
如需详细了解如何使用 IAM 角色管理访问权限,请参阅访问权限控制。
如需了解如何向主账号授予角色,请参阅授予、更改和撤消访问权限。
添加 Cloud Pub/Sub 触发器
如需将 Cloud Pub/Sub 触发器添加到新集成或现有集成中,请按以下步骤操作:- 在 Google Cloud 控制台中,前往 Application Integration 页面。
- 在导航菜单中,点击集成
系统会显示集成列表页面,其中列出了 Google Cloud 项目中可用的所有集成。
- 选择现有集成,或点击创建集成以创建新的集成。
要创建新的集成,请执行以下操作:
- 在创建集成窗格中输入名称和说明。
- 为集成选择一个区域。
- 选择用于集成的服务账号。您随时可以在集成工具栏的 集成摘要窗格中更改或更新集成的服务账号详细信息。
- 点击创建。
系统随即会在集成编辑器中打开该集成。
- 在集成编辑器导航栏中,点击触发器查看可用触发器的列表。
- 点击 Cloud Pub/Sub 触发器元素,并将其放置在设计器中。
配置 Cloud Pub/Sub 触发器
点击集成编辑器中的 Cloud Pub/Sub 触发器元素,查看触发器配置 窗格,然后执行以下任务:
- 在 Pub/Sub 主题字段中,按以下格式指定触发器应监听的主题:
projects/PROJECT_ID/topics/TOPIC_ID
如需查看 Google Cloud 项目中所有可用的主题,请查看主题中的主题名称列。您也可以从其他 Google Cloud 项目中选择主题。
替换以下内容:PROJECT_ID
:创建主题的 Google Cloud 项目。TOPIC_ID
:您的 Pub/Sub 主题的 ID。该主题可以与集成所在的 Google Cloud 项目位于同一 Google Cloud 项目中,也可以位于其他 Google Cloud 项目中。
- 选择要用于调用集成的服务账号。您也可以选择已在集成中创建的配置变量。配置变量的值必须是采用以下格式的服务账号电子邮件地址:
SERVICE_ACCOUNT_NAME@project-id.iam.gserviceaccount.com
。例如application-integration-invoke@project123.iam.gserviceaccount.com
。如需了解如何创建配置变量,请参阅创建变量;如需了解如何创建服务账号,请参阅创建服务账号。
如果您选择配置变量,则必须向配置变量所引用的服务账号授予所需角色。如需详细了解如何授予角色,请参阅必需的 IAM 角色。
如果没有服务账号,请在服务账号列表中点击创建新账号以创建服务账号。
默认情况下,订阅的到期期限选项设置为 never expire
。如果您想将到期时间设置为其他值,请在 Google Cloud 控制台中前往 Pub/Sub 订阅页面,然后修改订阅。
服务账号所需的 IAM 角色
在选择服务账号时点击授予,系统会自动为各个服务账号提供以下角色。
服务账号 | 已授予 IAM 角色 |
---|---|
Application Integration 的默认服务账号:service-PROJECT_NUMBER@gcp-sa-integrations.iam.gserviceaccount.com |
如果 Pub/Sub 主题的 Google Cloud 项目不同于集成的 Google Cloud 项目,默认服务账号需要在主题的 Google Cloud 项目中拥有 Pub/Sub 编辑者角色。 |
您为此触发器选择的服务账号 |
Application Integration Invoker (roles/integrations.integrationInvoker )
|
触发器输出
对于每个事件,Cloud Pub/Sub 触发器会生成一个 CloudPubSubMessage
输出变量,您可以在下游任务中使用该变量。该变量采用 JSON 格式,并且具有 PubsubMessage
结构。
注意事项
- Pub/Sub 消息的大小上限为 10 MB。如需了解 Pub/Sub 的所有限制,请参阅 Pub/Sub 配额和限制。
- Pub/Sub 可能会将同一消息多次写入一个主题。要了解 Pub/Sub 的此行为,请参阅至少传送一次。因此,您必须将集成设计为具有幂等性,以免允许将消息多次写入一个主题。
消息标头中的
message_id
字段用于唯一标识 Pub/Sub 消息。 - 如果您取消发布集成,系统不会删除 Pub/Sub 订阅,以免丢失消息。不过,如果您删除集成的已发布版本或所有集成版本,则 Pub/Sub 订阅也会被删除。
使用适用于您的集成的过滤条件创建订阅
如果您想为 Pub/Sub 订阅设置过滤条件,以便在集成中处理特定事件,请按以下步骤操作:
- 发布已配置的 Cloud Pub/Sub 触发器的集成。此步骤会在集成项目中创建订阅。
- 在 Google Cloud 控制台中,前往订阅页面。
- 打开订阅,然后复制所有详细信息,包括订阅名称。
- 删除现有订阅。
- 创建新的订阅,其中包含您在第 3 步中复制的已删除订阅的所有详细信息(包括订阅名称),并在新订阅中添加过滤条件。
新创建的订阅会触发与被滤除消息的集成。
SLA 例外情况
Cloud Pub/Sub 触发器依赖于 Pub/Sub 产品。由于此依赖项位于应用集成之外,因此只有在 Cloud Pub/Sub 触发器成功启动 active
集成执行时,应用集成服务等级协议 (SLA) 条款和条件才适用。
价格
使用 Cloud Pub/Sub 触发器和 Salesforce 触发器时,您无需创建连接器。但是,如果您使用连接器任务连接到 Pub/Sub 或 Salesforce,则需要为连接器的使用付费。如需了解价格,请参阅 Application Integration 价格。
配额和限制
如需了解配额和限制,请参阅配额和限制。