Neste documento, mostramos como excluir revisões de esquemas para tópicos do Pub/Sub. A operação de exclusão de um esquema também exclui todas as revisões associadas a ele.
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 excluir e gerenciar revisões de esquema,
peça ao administrador para conceder a você o
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 excluir e gerenciar revisões 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 excluir e gerenciar revisões de esquema:
-
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.
Excluir uma revisão do esquema
Confira a seguir algumas diretrizes importantes para excluir uma revisão de esquema:
É possível excluir uma ou várias revisões de esquema.
Se o esquema tiver apenas uma revisão, não será possível excluí-la. Em vez disso, exclua o esquema.
A operação de exclusão de um esquema também exclui todas as revisões associadas a ele.
Se você excluir um esquema, a publicação de mensagens em tópicos associados a ele falhará.
Se você excluir uma revisão de esquema especificada como a primeira revisão de um tópico, a próxima revisão será usada para validação.
Se a revisão do esquema excluída for especificada como a última revisão de um tópico, a revisão anterior do esquema será usada para validação.
Se a revisão do esquema excluída estiver dentro do intervalo de revisão especificado para um tópico de validação, a revisão será ignorada.
É possível excluir uma revisão de esquema usando o console do Google Cloud, a CLI gcloud, a API Pub/Sub ou as bibliotecas de cliente do Cloud.
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.
Selecione a revisão que você quer excluir. Você também pode selecionar várias revisões.
Clique em Excluir revisão.
Confirme a operação de exclusão.
gcloud
gcloud pubsub schemas delete-revision SCHEMA_NAME@REVISION_ID
Em que:
- REVISION_ID é a revisão para a qual você quer reverter.
REST
Para excluir uma revisão de esquema, envie uma solicitação DELETE como esta:
POST https://pubsub.googleapis.com/v1/projects/PROJECT_ID/schemas/SCHEMA_ID@REVISION_ID:deleteRevision Authorization: Bearer $(gcloud auth application-default print-access-token) Content-Type: application/json --data @response-body.json
O corpo da resposta precisa conter uma representação JSON do recurso de esquema excluído.
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.