Neste documento, mostramos como excluir revisões de esquema 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
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 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
-
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.
Excluir uma revisão do esquema
Confira algumas diretrizes importantes para excluir uma revisão de esquema:
É possível excluir uma ou várias revisões de um 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 vai 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 excluída for especificada como a última de um tópico, a revisão anterior será usada para validação.
Se a revisão do esquema excluído estiver dentro do intervalo especificado para um tópico de validação, ela será ignorada.
É possível excluir uma revisão de esquema usando o consoleTrusted Cloud , a CLI gcloud, a API Pub/Sub ou as bibliotecas de cliente do Cloud.
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.
Selecione a revisão que você quer excluir. Também é possível 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
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 um esquema
- Listar esquemas
- Listar revisões de um esquema
- Inscrever-se em um tópico com um esquema