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 mesma definição de esquema da 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 receber as permissões necessárias para reverter e gerenciar esquemas,
peça ao administrador para conceder a você o
Editor do Pub/Sub (roles/pubsub.editor
) do IAM 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 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
-
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.
Reverter uma revisão de esquema
É possível reverter um esquema usando o 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 na operação de reversão.
Na página Detalhes do esquema, selecione a versão mais recente do esquema e a versão que você selecionou 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.
Você pode usar a revisão de esquema que acabou de criar como a última revisão para validar um tema 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 você quer 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 do esquema
- Excluir um esquema
- Listar esquemas
- Listar revisões de um esquema
- Assinar um tópico com um esquema