验证架构的消息

本文档介绍如何验证 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. Test message 窗口中,选择一种消息编码

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

  7. 点击测试

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    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.

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

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

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

    • DEFINITION:内嵌架构定义。

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

后续步骤