Validar uma mensagem para um esquema

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

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

Antes de começar

Papéis e permissões necessárias

Para ter as permissões necessárias para validar mensagens de esquema e gerenciá-las, peça ao administrador para conceder a você o papel do IAM de Editor do Pub/Sub (roles/pubsub.editor) no seu 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 e gerenciar mensagens de esquema. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As permissões a seguir são necessárias para validar e gerenciar mensagens de esquema:

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

Talvez você também consiga receber essas permissões com papéis personalizados ou outros papéis predefinidos.

É possível conceder papéis e permissões a principais como usuários, grupos, domínios ou contas de serviço. É possível criar um esquema em um projeto e anexá-lo a um tópico localizado em outro projeto. Verifique se você tem as permissões necessárias 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.

    A página Detalhes do esquema é aberta.

  3. Na seção Revisões, clique na revisão em 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 mensagens.

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

  7. Clique em Teste.

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 um esquema, use o comando 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))
    

    Substitua:

    • MESSAGE: mensagem para validar em relação ao esquema.

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

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

    • TYPE: tipo de esquema in-line. Especifique um destes valores: avro ou protocol-buffer.

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

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

A seguir