Validar uma mensagem para um esquema

Neste documento, mostramos como validar esquemas para tópicos do Pub/Sub.

É possível validar se as mensagens seguem um determinado esquema, antes ou depois de criar um recurso de esquema. Essa etapa garante que as mensagens que você pretende enviar por um tópico associado a um de esquema de fato correspondem antes de aplicar o esquema.

Antes de começar

Papéis e permissões necessárias

Para receber as permissões necessárias para validar mensagens de esquema e gerenciá-las, peça ao administrador para conceder a você Papel do IAM Editor do Pub/Sub (roles/pubsub.editor) no projeto. Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.

Esse papel predefinido contém as permissões necessárias para validar mensagens de esquema e gerenciá-las. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As seguintes permissões são necessárias para validar mensagens de esquema e gerenciá-las:

  • Criar esquema: pubsub.schemas.create
  • Anexar esquema ao tópico: pubsub.schemas.attach
  • Confirme uma revisão de esquema: pubsub.schemas.commit
  • Exclua um esquema ou uma revisão de esquema: pubsub.schemas.delete
  • Receber um esquema ou revisões de esquema: pubsub.schemas.get
  • Listar esquemas: pubsub.schemas.list
  • Listar revisões de esquema: pubsub.schemas.listRevisions
  • Reverta um esquema: pubsub.schemas.rollback
  • Validar uma mensagem: pubsub.schemas.validate
  • Encontre a política do IAM para um esquema: pubsub.schemas.getIamPolicy
  • Configure a política do IAM para um esquema: pubsub.schemas.setIamPolicy

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

É possível conceder papéis e permissões aos principais, como usuários, grupos domínios ou contas de serviço. É possível criar um esquema em um projeto anexar a um tópico localizado em um projeto diferente. Verifique se você tem as permissões necessárias para para cada projeto.

Validar uma mensagem para um esquema

Console

  1. No console do Google Cloud, acesse a página Esquemas do Pub/Sub.

    Acessar "Esquemas"

    A lista de esquemas é exibida.

  2. Clique no ID do esquema de um esquema atual.

    A página Detalhes do esquema é aberta.

  3. Na seção Revisões, clique na revisão que você quer validar uma mensagem.

  4. Na seção Detalhes, clique em Mensagem de teste.

  5. Na janela Mensagem de teste, selecione um tipo de Codificação de mensagem.

  6. No corpo da Mensagem, insira uma mensagem de teste.

  7. Clique em Testar.

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. Para validar uma mensagem em relação a um esquema, use o gcloud pubsub schemas validate-message (link em inglês) kubectl.

    gcloud pubsub schemas validate-message --message=MESSAGE \
        --message-encoding=MESSAGE_ENCODING \
        (--schema-name=SCHEMA_NAME | \
        --type=TYPE \
        (--definition=DEFINITION | \
        --definition-file=DEFINITION_FILE))
    

    Substitua:

    • MESSAGE: mensagem para validar o esquema.

    • MESSAGE_ENCODING: codificação da mensagem. Especificar um dos seguintes valores: binary ou json.

    • SCHEMA_NAME: nome ou caminho completo de um esquema atual.

    • TYPE: tipo de esquema in-line. Especifique uma das seguintes valores: avroou protocol-buffer.

    • DEFINITION: definição de esquema in-line.

    • DEFINITION_FILE: arquivo que contém a definição do esquema.

A seguir