在应用设计中心内配置 Pub/Sub

Pub/Sub 是一种异步且可伸缩的通讯服务,可将生成消息的服务与处理这些消息的服务分离开来。如需了解详情,请参阅什么是 Pub/Sub?

本文档介绍了使用应用设计中心创建 Pub/Sub 主题和订阅时可以配置的连接和参数。配置参数基于 terraform-google-pubsub Terraform 模块。

组件连接

下表列出了可连接到 Pub/Sub 主题或订阅的组件,以及对应用及其生成的 Terraform 代码的相应更新。

关联的组成部分

申请动态

背景信息

Compute Engine 实例模板

  • Compute Engine 实例可以向 Pub/Sub 主题发布消息,也可以从该主题接收消息。
  • Pub/Sub 主题 ID 已添加到 Compute Engine 实例模板元数据中。
实例模板

服务账号

  • 服务账号可以管理 Pub/Sub 主题,并从订阅中提取消息。
  • roles/pubsub.editor 角色已添加到服务账号。
  • 服务账号名称和电子邮件地址信息已添加到 Pub/Sub 拉取订阅中。
使用 IAM 进行访问权限控制

BigQuery

  • Pub/Sub 订阅可以将消息写入 BigQuery 数据集。
  • BigQuery 数据集信息会添加到 BigQuery 订阅字段中。
BigQuery 订阅

Cloud Run

  • Cloud Run 服务可以接收消息或发布到 Pub/Sub 主题。
  • Pub/Sub 主题 ID 已添加到 Cloud Run 环境变量中。
  • roles/pubsub.publisherroles/pubsub.subscriber 角色已添加到 Cloud Run 服务账号。
  • Cloud Run 服务已添加到 Pub/Sub 推送和拉取订阅字段中。
教程:将 Pub/Sub 与 Cloud Run 搭配使用

Cloud Storage

  • Pub/Sub 订阅可以将消息写入 Cloud Storage 存储桶。
  • Cloud Storage 存储桶信息已添加到 Pub/Sub 订阅字段中。
Cloud Storage 订阅

必需的配置参数

如果您的模板包含 Pub/Sub 组件,则必须先配置以下参数,然后才能进行部署。

参数名称

说明和限制

背景信息

项目 ID

您要部署 Pub/Sub 资源的项目。

配置组件

主题

name 主题、订阅、架构或快照命名指南

可选配置参数

以下参数为可选参数。如需显示高级参数,请在配置区域中选择显示高级字段

功能

参数名称

说明和限制条件信息

背景信息

创建主题 默认情况下,系统会创建一个主题。如果您不想创建主题,请清除该复选框。 创建主题
创建订阅 默认情况下,系统会创建订阅。如果您不想创建订阅,请清除该复选框。 订阅概览

主题标签

labels 通过标签报告使用量
labels 通过标签报告使用量

推送订阅

名称 name 主题、订阅、架构或快照命名指南
确认时限(以秒为单位) ackDeadlineSeconds 确认截止期限
推送端点 pushEndpoint Endpoints
X-goog-version 推送消息的 Pub/Sub API 格式。例如,v1beta1。 属性
OIDC 服务账号电子邮件地址 serviceAccountEmail Authentication
受众群体 受众群体 Authentication
失效政策 expirationPolicy 有效期
死信主题 deadLetterTopic 死信主题
保留已确认的消息 retainAckedMessages 保留已确认的消息
消息保留时长 messageRetentionDuration 消息保留时长
传送尝试次数上限 maxDeliveryAttempts 死信主题
退避时间上限 maximumBackoff 重试政策
最短退避时间 minimumBackoff 重试政策
过滤 filter 订阅过滤条件
启用消息排序 enableMessageOrdering 消息排序

拉取订阅

名称 name 主题、订阅、架构或快照命名指南
确认时限(以秒为单位) ackDeadlineSeconds 确认截止期限
死信主题 deadLetterTopic 死信主题
传送尝试次数上限 maxDeliveryAttempts 死信主题
保留已确认的消息 retainAckedMessages 保留已确认的消息
消息保留时长 messageRetentionDuration 消息保留时长
退避时间上限 maximumBackoff 重试政策
最短退避时间 minimumBackoff 重试政策
过滤 filter 订阅过滤条件
启用消息排序 enableMessageOrdering 消息排序
服务账号
启用“仅传送一次” enableExactlyOnceDelivery 仅传送一次

BigQuery 订阅

名称 name 主题、订阅、架构或快照命名指南
表格 表格 创建 BigQuery 订阅
使用主题架构 useTopicSchema 使用主题订阅
使用表格结构 useTableSchema 使用表架构
写入元数据 writeMetadata 写入元数据
舍弃未知字段 dropUnknownFields 删除未知字段
确认时限(以秒为单位) ackDeadlineSeconds 确认截止期限
保留已确认的消息 retainAckedMessages 保留已确认的消息
消息保留时长 messageRetentionDuration 消息保留时长
启用消息排序 enableMessageOrdering 消息排序
失效政策 expirationPolicy 有效期
过滤 filter 订阅过滤条件
死信主题 deadLetterTopic 死信主题
退避时间上限 maximumBackoff 重试政策
最短退避时间 minimumBackoff 重试政策

Cloud Storage 订阅

名称 name 主题、订阅、架构或快照命名指南
存储分区 存储桶 存储桶名称
文件名前缀 filenamePrefix 文件名前缀、后缀和日期时间
文件名后缀 filenameSuffix 文件名前缀、后缀和日期时间
文件名日期时间格式 filenameDatetimeFormat 文件名前缀、后缀和日期时间
最长时长 maxDuration 文件批处理
最大字节数 maxBytes 文件批处理
消息数量上限 maxMessages 文件批处理
输出格式 textConfigavroConfig 文件格式
写入元数据 writeMetadata 写入元数据
使用主题架构 useTopicSchema 使用主题架构
确认时限(以秒为单位) ackDeadlineSeconds 确认截止期限
保留已确认的消息 保留已确认的消息
消息保留时长 messageRetentionDuration 消息保留时长
启用消息排序 enableMessageOrdering 消息排序
失效政策 expirationPolicy 有效期
过滤 filter 订阅过滤条件
死信主题 deadLetterTopic 死信主题
退避时间上限 maximumBackoff 重试政策
最短退避时间 minimumBackoff 重试政策

订阅标签

labels 通过标签报告使用量
labels 通过标签报告使用量
主题消息保留时长 topicMessageRetentionDuration 消息保留时长
主题 KMS 密钥名称 kmsKeyName 使用客户管理的加密密钥 (CMEK)
授予 BigQuery 项目角色 默认情况下,系统会向默认 Pub/Sub 服务账号授予 BigQuery Metadata ViewerBigQuery Data Editor 角色。如果您不想授予这些角色,请取消选中相应复选框。 向 Pub/Sub 服务账号分配 BigQuery 角色
授予令牌创建者角色 默认情况下,系统会向默认 Pub/Sub 服务账号授予 Service Account Token Creator 角色。如果您不想授予此角色,请清除相应复选框。 为 Pub/Sub 设置身份验证

架构

名称 name 有关架构的重要信息
类型 type 架构类型
定义 定义 架构类型
编码 编码 将架构与主题相关联的指南