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
- 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 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
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 atual.
A página Detalhes do esquema é aberta.
Na seção Revisões, clique na revisão que você quer validar uma mensagem.
Na seção Detalhes, clique em Mensagem de teste.
Na janela Mensagem de teste, selecione um tipo de Codificação de mensagem.
No corpo da Mensagem, insira uma mensagem de teste.
Clique em Testar.
gcloud
-
No Console do Google Cloud, ative 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.
- 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
oujson
.SCHEMA_NAME: nome ou caminho completo de um esquema atual.
TYPE: tipo de esquema in-line. Especifique uma das seguintes valores:
avro
ouprotocol-buffer
.DEFINITION: definição de esquema in-line.
DEFINITION_FILE: arquivo que contém a definição do esquema.