本文档介绍如何验证 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(测试)。
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:包含架构定义的文件。