本文档介绍如何验证 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 。
系统会打开该架构的架构详情 页面。
在修订版本 部分中,点击您要验证消息的修订版本。
在详情 部分中,点击测试消息 。
在测试消息 窗口中,选择一种消息编码 类型。
在消息 正文中,输入测试消息。
点击测试 。
gcloud
-
在 Google Cloud 控制台中,激活 Cloud Shell。
Cloud Shell 会话随即会在控制台的底部启动,并显示命令行提示符。 Google Cloud Cloud Shell 是一个已安装 Google Cloud CLI 且已为当前项目设置值的 Shell 环境。该会话可能需要几秒钟来完成初始化。
- 如需根据架构验证消息,请使用
gcloud pubsub schemas validate-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:包含架构定义的文件。