本文档介绍如何验证 Pub/Sub 主题的架构。
您可以在创建架构资源之前或之后验证消息是否遵循特定架构。此步骤可确保在应用架构之前,您打算通过与架构关联的主题发送的消息实际上匹配。
准备工作
- 了解 Pub/Sub 架构的工作原理。
- 创建架构。
所需的角色和权限
如需获取验证架构消息和管理消息所需的权限,请让管理员向您授予项目的 Pub/Sub Editor (roles/pubsub.editor
) IAM 角色。如需详细了解如何授予角色,请参阅管理访问权限。
此预定义角色包含验证和管理架构消息所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需验证和管理架构消息,您需要具备以下权限:
-
创建架构:
pubsub.schemas.create
-
将架构附加到主题:
pubsub.schemas.attach
-
提交架构修订版本:
pubsub.schemas.commit
-
删除架构或架构修订版本:
pubsub.schemas.delete
-
获取架构或架构修订版本:
pubsub.schemas.get
-
列出架构:
pubsub.schemas.list
-
列出架构修订版本:
pubsub.schemas.listRevisions
-
回滚架构:
pubsub.schemas.rollback
-
验证消息:
pubsub.schemas.validate
-
获取架构的 IAM 政策:
pubsub.schemas.getIamPolicy
-
为架构配置 IAM 政策:
pubsub.schemas.setIamPolicy
您可以向用户、群组、网域或服务帐号等主账号授予角色和权限。您可以在一个项目中创建架构,并将其附加到其他项目中的主题。 确保您拥有每个项目所需的权限。
验证架构的消息
控制台
在 Google Cloud 控制台中,前往 Pub/Sub 架构页面。
此时会显示架构列表。
点击现有架构的架构 ID。
系统会打开架构的架构详情页面。
在修订版本部分中,点击要验证消息的修订版本。
在详细信息部分中,点击测试消息。
在 Test message 窗口中,选择一种消息编码。
在消息正文中,输入测试消息。
点击 Test(测试)。
gcloud
-
在 Google Cloud 控制台中,激活 Cloud Shell。
Cloud Shell 会话随即会在 Google Cloud 控制台的底部启动,并显示命令行提示符。Cloud Shell 是一个已安装 Google Cloud CLI 且已为当前项目设置值的 Shell 环境。该会话可能需要几秒钟时间来完成初始化。
- 要根据架构验证消息,请使用 gcloud pubsub schemas verify-message 命令。
gcloud pubsub schemas validate-message --message=MESSAGE \ --message-encoding=MESSAGE_ENCODING \ (--schema-name=SCHEMA_NAME | \ --type=TYPE \ (--definition=DEFINITION | \ --definition-file=DEFINITION_FILE))
请替换以下内容:
MESSAGE:用于根据架构验证的消息
MESSAGE_ENCODING:消息的编码。请指定以下值之一:
binary
或json
。SCHEMA_NAME:现有架构的名称或完整路径。
TYPE:内嵌架构的类型。指定以下值之一:
avro
或protocol-buffer
。DEFINITION:内嵌架构定义。
DEFINITION_FILE:包含架构定义的文件。