Este documento mostra como validar esquemas para tópicos do Pub/Sub.
Você pode 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 um tópico associado a um esquema correspondam antes de aplicar o esquema.
Antes de começar
- Entenda como os esquemas do Pub/Sub funcionam.
- Crie um esquema.
Papéis e permissões necessárias
Para receber as permissões necessárias para validar e gerenciar mensagens de esquema, peça ao administrador para conceder a você o papel do IAM de Editor do Pub/Sub (roles/pubsub.editor) no projeto.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esse papel predefinido contém as permissões necessárias para validar e gerenciar mensagens de esquema. Para acessar 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 um esquema ou revisões de 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 -
Receber a política do IAM para um esquema:
pubsub.schemas.getIamPolicy -
Configurar 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 a principais, como usuários, grupos, domínios ou contas de serviço. Você pode 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
No Google Cloud console, acesse a página Esquemas do Pub/Sub.
A lista de esquemas é exibida.
Clique no ID do esquema de um esquema atual.
A página Detalhes do esquema é aberta.
Na seção Revisões, clique na revisão para a qual você quer validar uma mensagem.
Na seção Detalhes, clique em Testar mensagem.
Na janela Testar mensagem, selecione um tipo de Codificação de mensagem.
No corpo da Mensagem, digite uma mensagem de teste.
Clique em Testar.
gcloud
-
No Google Cloud console, ative o Cloud Shell.
Na parte de baixo do Google Cloud console, uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a Google Cloud CLI já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.
- 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 a ser validada no esquema
MESSAGE_ENCODING: codificação da mensagem. Especifique um dos seguintes valores:
binaryoujson.SCHEMA_NAME: nome ou caminho completo de um esquema atual.
TYPE: tipo de esquema in-line. Especifique um dos seguintes valores:
avroouprotocol-buffer.DEFINITION: definição de esquema in-line.
DEFINITION_FILE: arquivo que contém a definição do esquema.