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