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 realmente 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
Editor do Pub/Sub (roles/pubsub.editor
) do IAM 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 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 e gerenciar mensagens de esquema:
-
Criar esquema:
pubsub.schemas.create
-
Anexar esquema ao tópico:
pubsub.schemas.attach
-
Confirme uma revisão de esquema:
pubsub.schemas.commit
-
Excluir um esquema ou uma revisão de esquema:
pubsub.schemas.delete
-
Acessar um esquema ou revisões de esquema:
pubsub.schemas.get
-
Esquemas de lista:
pubsub.schemas.list
-
Listar revisões de esquema:
pubsub.schemas.listRevisions
-
Fazer o rollback de um esquema:
pubsub.schemas.rollback
-
Valide uma mensagem:
pubsub.schemas.validate
-
Acesse 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 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
No console do Google Cloud, acesse a página Esquemas do Pub/Sub.
A lista de esquemas é exibida.
Clique no ID do esquema de um esquema existente.
A página Detalhes do esquema é aberta.
Na seção Revisions, clique na revisão para a qual você quer validar uma mensagem.
Na seção Detalhes, clique em Testar mensagem.
Na janela Test message, selecione um tipo de Codificação da mensagem.
No corpo da Mensagem, digite uma mensagem de teste.
Clique em Testar.
gcloud
-
In the Google Cloud console, 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.
- 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 em relação ao esquema
MESSAGE_ENCODING: codificação da mensagem. Especifique um dos seguintes valores:
binary
oujson
.SCHEMA_NAME: nome ou caminho completo de um esquema existente.
TYPE: tipo de esquema inline. Especifique um dos seguintes valores:
avro
ouprotocol-buffer
.DEFINITION: definição de esquema inline.
DEFINITION_FILE: arquivo que contém a definição do esquema.