架构概览

Pub/Sub 架构是一项可选功能,可用于 Pub/Sub 消息中 data 字段的格式。

架构在发布者和订阅者之间就 消息格式Pub/Sub 强制执行此格式。 架构有助于团队间使用 Google Cloud 中的数据流 从而为消息类型和 权限。Pub/Sub 消息架构定义了 数据类型。

您可以创建架构并将其与主题相关联, 强制实施发布的消息架构如果特定消息 不符合架构,则消息不会被发布。您还可以创建 特定架构的其他修订版本

架构类型

您可以使用以下任一方法在 Pub/Sub 中创建架构 以下框架:

创建架构后,您可以对 架构或架构修订版本例如,您可以 删除架构删除架构修订版本

例如,以下架构定义了一个仓库的商品目录, 最先采用 Avro 格式,然后采用 Protocol Buffer 格式。

Apache Avro 格式

{
 "type" : "record",
 "name" : "Avro",
 "fields" : [
   {
     "name" : "ProductName",
     "type" : "string",
     "default": ""
   },
   {
     "name" : "SKU",
     "type" : "int",
     "default": 0
   },
   {
     "name" : "InStock",
     "type" : "boolean",
     "default": false
   }
 ]
}

协议缓冲区格式

syntax = "proto3";
message ProtocolBuffer {
  string product_name = 1;
  int32 SKU = 2;
  bool in_stock = 3;
}

架构的配额和限制

架构具有以下限制:

  • 架构定义字段的大小不得超过 50 KB。

  • 一个项目最多可以有 10,000 个架构。

  • 单个架构的修订版本不能超过 20 个。

    如需了解与 Pub/Sub 相关的架构和限制, 请参阅 Pub/Sub 配额和限制

后续步骤