本文档介绍如何验证 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 窗口中,选择一种消息编码。
在消息正文中,输入测试消息。
点击测试。
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
- 如需根据架构验证消息,请使用 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:包含架构定义的文件。