Neste documento, mostramos como fazer reverter de 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 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
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 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
-
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.
Reverter uma revisão de esquema
É possível reverter de um esquema usando o consoleTrusted Cloud , a CLI gcloud, a API Pub/Sub ou as bibliotecas de cliente do Cloud. Siga estas etapas:
Console
No console Trusted 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 rollback.
Na página Detalhes do esquema, selecione a versão mais recente do esquema e a versão selecionada como origem para a operação de reversão.
Clique em Ver diferença.
Você pode verificar se os dois esquemas são idênticos.
Use a revisão de esquema que você 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 de 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 fazer 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
O exemplo a seguir usa a versão principal da biblioteca de cliente do Go Pub/Sub (v2). Se você ainda estiver usando a biblioteca v1, consulte o guia de migração para a v2. Para conferir uma lista de exemplos de código da v1, consulte os exemplos de código descontinuados.
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
- Listar esquemas
- Listar revisões de um esquema
- Inscrever-se em um tópico com um esquema