请参阅 Application Integration 支持的连接器

Cloud Pub/Sub 触发器

借助 Cloud Pub/Sub 触发器,您可以根据 Pub/Sub 中间件中的事件运行集成。

使用此触发器时,只要发布者将消息写入您选择的主题,您就可以执行集成。主题可以存在于集成所在的 Google Cloud 项目中,也可以存在于其他 Google Cloud 项目中。当此触发器执行时,还会将发布的消息写入 CloudPubSubMessage 输出变量。根据您的要求,您可以在下游触发器或任务中使用此变量。

准备工作

在配置 Cloud Pub/Sub 触发器之前,请确保在您的 Google Cloud 项目中执行以下任务。

  • Project IAM Admin (roles/resourcemanager.projectIamAdmin) 分配给创建此触发器的用户。
  • 为您集成的 Google Cloud 项目启用 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. 在导航菜单中,点击 Integrations(集成)

    此时将显示集成列表页面,其中列出了 Google Cloud 项目中提供的所有集成。

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

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

    1. Create Integration(创建集成)窗格中输入名称和说明。
    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 项目中所有可用的主题,请查看主题中的主题名称列。

    替换以下内容:
    • PROJECT_ID:创建主题的 Google Cloud 项目。
    • TOPIC_ID:您的 Pub/Sub 主题的 ID。主题可以位于您的集成所在的 Google Cloud 项目中,也可以存在于其他 Google Cloud 项目中。
  2. 选择要用于触发器的服务帐号。选择服务帐号后,系统会提示您授予所需的角色。如需了解详情,请参阅必需的 IAM 角色

    如果没有服务帐号,请点击服务帐号下拉列表中的新建,创建一个服务帐号。

服务账号所需的 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 Editor 角色。

您为此触发器选择的服务账号 Application Integration 调用方 (roles/integrations.integrationInvoker)

触发器输出

对于每个事件,Cloud Pub/Sub 触发器会生成一个 CloudPubSubMessage 输出变量,您可以在下游任务中使用该变量。该变量采用 JSON 格式,并且具有 PubsubMessage 结构。

注意事项

  • Pub/Sub 消息的大小上限为 10 MB。如需了解 Pub/Sub 的所有限制,请参阅 Pub/Sub 配额和限制
  • Pub/Sub 可能会将同一消息多次写入一个主题。要了解 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 产品。由于此依赖项位于 Application Integration 外部,因此仅当 Cloud Pub/Sub 触发器成功开始执行 active 集成时,Application Integration 服务等级协议 (SLA) 条款及条件才适用。