Neste documento, mostramos 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
    
  
  
    
      papel do IAM de Editor do Pub/Sub  (roles/pubsub.editor)
     no seu 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
- 
                Anexe o 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
- 
                Acessar a política do IAM de 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 Cloud de Confiance , 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 Revisões, clique na revisão para 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, digite uma mensagem de teste. 
- Clique em Testar. 
gcloud
- 
    
    In the Cloud de Confiance console, activate Cloud Shell. At the bottom of the Cloud de Confiance 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: - binaryou- json.
- SCHEMA_NAME: nome ou caminho completo de um esquema existente. 
- TYPE: tipo de esquema in-line. Especifique um dos seguintes valores: - avroou- protocol-buffer.
- DEFINITION: definição de esquema in-line. 
- DEFINITION_FILE: arquivo que contém a definição do esquema.