验证架构的消息

本文档介绍如何验证 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

您也可以使用自定义角色或其他预定义角色来获取这些权限。

您可以向主账号(例如用户、群组、网域或服务帐号)授予角色和权限。您可以在一个项目中创建架构,并将其挂接到位于其他项目中的主题。确保您拥有每个项目所需的权限。

验证架构的消息

控制台

  1. 在 Google Cloud 控制台中,前往 Pub/Sub 架构页面。

    前往“架构”

    系统随即会显示架构列表。

  2. 点击现有架构的架构 ID

    系统会打开该架构的架构详情页面。

  3. 修订版本部分中,点击要验证消息的修订版本。

  4. 详细信息部分中,点击测试消息

  5. 测试消息窗口中,选择一种消息编码

  6. 消息正文中,输入测试消息。

  7. 点击 Test(测试)。

gcloud

  1. 在 Google Cloud 控制台中,激活 Cloud Shell。

    激活 Cloud Shell

    Cloud Shell 会话随即会在 Google Cloud 控制台的底部启动,并显示命令行提示符。Cloud Shell 是一个已安装 Google Cloud CLI 且已为当前项目设置值的 Shell 环境。该会话可能需要几秒钟时间来完成初始化。

  2. 如需根据架构验证消息,请使用 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:消息的编码。请指定以下任一值:binaryjson

    • SCHEMA_NAME:现有架构的名称或完整路径。

    • TYPE:内嵌架构的类型。请指定以下某个值:avroprotocol-buffer

    • DEFINITION:内嵌架构定义。

    • DEFINITION_FILE:包含架构定义的文件。

后续步骤