验证架构的消息

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

后续步骤