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. No Console do Google Cloud, ative o Cloud Shell.

    Ativar o Cloud Shell

    Na parte inferior do Console do Google Cloud, uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.

  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 a ser validada em relação ao 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