查看 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 主题,请执行以下操作:
    1. 转到 Cloud 控制台中的 Pub/Sub 主题页面。

      转到 Pub/Sub 主题页面

    2. 点击创建主题
    3. 主题 ID 字段中,提供唯一的主题名称。
    4. 点击保存

如需详细了解如何使用 IAM 角色管理访问权限,请参阅访问权限控制

如需了解如何向主账号授予角色,请参阅授予、更改和撤消访问权限

添加 Cloud Pub/Sub 触发器

如需将 Cloud Pub/Sub 触发器添加到新集成或现有集成中,请按以下步骤操作:
  1. 在 Google Cloud 控制台中,前往 Application Integration 页面。

    转到 Application Integration

  2. 在导航菜单中,点击集成

    系统会显示集成列表页面,其中列出了 Google Cloud 项目中可用的所有集成。

  3. 选择现有集成,或点击创建集成以创建新的集成。

    要创建新的集成,请执行以下操作:

    1. 创建集成窗格中输入名称和说明。
    2. 为集成选择一个区域。
    3. 选择用于集成的服务账号。您随时可以在集成工具栏的 集成摘要窗格中更改或更新集成的服务账号详细信息。
    4. 点击创建

    系统随即会在集成编辑器中打开该集成。

  4. 集成编辑器导航栏中,点击触发器查看可用触发器的列表。
  5. 点击 Cloud Pub/Sub 触发器元素,并将其放置在设计器中。

配置 Cloud Pub/Sub 触发器

点击集成编辑器中的 Cloud Pub/Sub 触发器元素,查看触发器配置 窗格,然后执行以下任务:

  1. 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 项目中。
  2. 选择要用于调用集成的服务账号。您也可以选择已在集成中创建的配置变量。配置变量的值必须是采用以下格式的服务账号电子邮件地址: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 Editor (roles/pubsub.editor)
  • Service Account User (roles/iam.serviceAccountUser)

如果 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 订阅设置过滤条件,以便在集成中处理特定事件,请按以下步骤操作:

  1. 发布已配置的 Cloud Pub/Sub 触发器的集成。此步骤会在集成项目中创建订阅。
  2. 在 Google Cloud 控制台中,前往订阅页面。

    前往“订阅”页面

  3. 打开订阅,然后复制所有详细信息,包括订阅名称。
  4. 删除现有订阅。
  5. 创建新的订阅,其中包含您在第 3 步中复制的已删除订阅的所有详细信息(包括订阅名称),并在新订阅中添加过滤条件

    新创建的订阅会触发与被滤除消息的集成。

SLA 例外情况

Cloud Pub/Sub 触发器依赖于 Pub/Sub 产品。由于此依赖项位于应用集成之外,因此只有在 Cloud Pub/Sub 触发器成功启动 active 集成执行时,应用集成服务等级协议 (SLA) 条款和条件才适用。

价格

使用 Cloud Pub/Sub 触发器和 Salesforce 触发器时,您无需创建连接器。但是,如果您使用连接器任务连接到 Pub/Sub 或 Salesforce,则需要为连接器的使用付费。如需了解价格,请参阅 Application Integration 价格

配额和限制

如需了解配额和限制,请参阅配额和限制

后续步骤