Este documento mostra como reverter um esquema para um tópico do Pub/Sub.
A operação de reversão permite criar outra revisão de esquema com a a definição de esquema como a revisão anterior especificada.
Antes de começar
- Entenda como os esquemas do Pub/Sub funcionam.
- Crie um esquema.
Papéis e permissões necessárias
Para ter as permissões necessárias para reverter esquemas e gerenciá-los,
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 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 reverter e gerenciar esquemas. 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 reverter e gerenciar esquemas:
-
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
-
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
-
Validar 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 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.
Reverter uma revisão de esquema
É possível reverter um esquema usando a console do Google Cloud, a CLI gcloud, a API Pub/Sub, ou as bibliotecas de cliente do Cloud. Siga estas etapas:
Console
No console do Google Cloud, acesse a página Esquemas do Pub/Sub.
Clique no nome de um esquema.
A página Detalhes do esquema é aberta.
Clique em Reverter.
A caixa de diálogo Reverter esquema é aberta.
Selecione a revisão para a qual você quer reverter o esquema.
Clique em Confirmar para salvar a operação de reversão.
Uma nova revisão é criada com o esquema especificado no operação de reversão.
Na página Detalhes do esquema, selecione a versão mais recente dele. e a versão selecionada como origem para a operação de reversão.
Clique em Ver diferença.
É possível verificar se os dois esquemas são idênticos.
É possível usar a revisão de esquema recém-criada como a última revisão para validar um tópico atualizando o campo Última revisão permitida.
gcloud
gcloud pubsub schemas rollback SCHEMA_ID \ --revision-id=REVISION_ID
Em que:
- REVISION_ID é a revisão para a qual você quer reverter.
REST
Para reverter um esquema, envie uma solicitação POST como esta:
POST https://pubsub.googleapis.com/v1/projects/PROJECT_ID/schemas/SCHEMA_ID:rollback Authorization: Bearer $(gcloud auth application-default print-access-token) Content-Type: application/json --data @response-body.json
Especifique os campos a seguir no corpo da solicitação:
{ "revisionId": REVISION_KD }
Em que:
- REVISION_KD é o ID da revisão para a qual reverter.
O corpo da resposta precisa conter uma representação JSON de um recurso de esquema.
C++
Antes de tentar esse exemplo, siga as instruções de configuração do C++ em Guia de início rápido: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub C++.
Go
Antes de tentar esse exemplo, siga as instruções de configuração do Go em Guia de início rápido: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub Go.
Java
Antes de tentar essa amostra, siga as instruções de configuração do Java em Guia de início rápido: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub Java.
Python
Antes de tentar esse exemplo, siga as instruções de configuração do Python em Guia de início rápido: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub Python.
Node.js
Antes de tentar essa amostra, siga as instruções de configuração do Node.js em Guia de início rápido: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub Node.js.
Node.js
Antes de tentar essa amostra, siga as instruções de configuração do Node.js em Guia de início rápido: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub Node.js.
A seguir
- Excluir uma revisão de esquema
- Excluir um esquema
- Esquemas de listas
- Listar revisões de um esquema
- Assinar um tópico com um esquema