Este documento mostra como eliminar revisões de esquemas para tópicos do Pub/Sub. A operação de eliminação de um esquema também elimina todas as revisões associadas ao esquema.
Antes de começar
- Compreenda como funcionam os esquemas do Pub/Sub.
- Crie um esquema.
Funções e autorizações necessárias
Para receber as autorizações de que
precisa para eliminar e gerir revisões de esquemas,
peça ao seu administrador para lhe conceder a
função IAM Editor do Pub/Sub (roles/pubsub.editor
)
no seu projeto.
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Esta função predefinida contém as autorizações necessárias para eliminar e gerir revisões de esquemas. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:
Autorizações necessárias
São necessárias as seguintes autorizações para eliminar e gerir revisões do esquema:
-
Crie um esquema:
pubsub.schemas.create
-
Anexe o esquema ao tópico:
pubsub.schemas.attach
-
Confirme uma revisão do esquema:
pubsub.schemas.commit
-
Elimine um esquema ou uma revisão de esquema:
pubsub.schemas.delete
-
Obtenha um esquema ou revisões de esquemas:
pubsub.schemas.get
-
Esquemas de listas:
pubsub.schemas.list
-
Revisões do esquema da lista:
pubsub.schemas.listRevisions
-
Reverter um esquema:
pubsub.schemas.rollback
-
Valide uma mensagem:
pubsub.schemas.validate
-
Obtenha a Política IAM para um esquema:
pubsub.schemas.getIamPolicy
-
Configure a Política IAM para um esquema:
pubsub.schemas.setIamPolicy
Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.
Pode conceder funções e autorizações a responsáveis, como utilizadores, grupos, domínios ou contas de serviço. Pode criar um esquema num projeto e anexá-lo a um tópico localizado num projeto diferente. Certifique-se de que tem as autorizações necessárias para cada projeto.
Elimine uma revisão do esquema
Seguem-se algumas diretrizes importantes para eliminar uma revisão do esquema:
Pode eliminar uma ou várias revisões de esquemas de um esquema.
Se o esquema tiver apenas uma revisão, não pode eliminar a revisão. Em alternativa, elimine o esquema.
A operação de eliminação de um esquema também elimina todas as revisões associadas ao esquema.
Se eliminar um esquema, a publicação de mensagens em tópicos associados a esse esquema falha.
Se eliminar uma revisão do esquema e esta estiver especificada como a primeira revisão de um tópico, a revisão seguinte é usada para validação.
Se a revisão do esquema eliminada for especificada como a última revisão de um tópico, a revisão do esquema anterior é usada para validação.
Se a revisão do esquema eliminada estiver dentro do intervalo de revisões especificado para um tópico para validação, a revisão é ignorada.
Pode eliminar uma revisão de esquema através da Google Cloud consola, da CLI gcloud, da API Pub/Sub ou das bibliotecas cliente da nuvem.
Consola
Na Google Cloud consola, aceda à página Esquemas do Pub/Sub.
Clique no nome de um esquema existente.
É apresentada a página Detalhes do esquema do esquema.
Selecione a revisão que quer eliminar. Também pode selecionar várias revisões.
Clique em Eliminar revisão.
Confirme a operação de eliminação.
gcloud
gcloud pubsub schemas delete-revision SCHEMA_NAME@REVISION_ID
Onde:
- REVISION_ID é a revisão para a qual quer reverter.
REST
Para eliminar uma revisão do esquema, envie um pedido DELETE como o seguinte:
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 deve conter uma representação JSON do recurso de esquema eliminado.
C++
Antes de experimentar este exemplo, siga as instruções de configuração do C++ no artigo Início rápido: usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API C++ do Pub/Sub.
Ir
O exemplo seguinte usa a versão principal da biblioteca de cliente Go Pub/Sub (v2). Se ainda estiver a usar a biblioteca v1, consulte o guia de migração para a v2. Para ver uma lista de exemplos de código da v1, consulte os exemplos de código descontinuados.
Antes de experimentar este exemplo, siga as instruções de configuração do Go em Início rápido: usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Go do Pub/Sub.
Java
Antes de experimentar este exemplo, siga as instruções de configuração do Java no artigo Início rápido: usar bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Java do Pub/Sub.
Python
Antes de experimentar este exemplo, siga as instruções de configuração do Python em Início rápido: usar bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Python Pub/Sub.
Node.js
Antes de experimentar este exemplo, siga as instruções de configuração do Node.js em Início rápido: usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Node.js do Pub/Sub.
Node.js
Antes de experimentar este exemplo, siga as instruções de configuração do Node.js em Início rápido: usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Node.js do Pub/Sub.
O que se segue?
- Elimine um esquema
- Esquemas de listas
- Liste as revisões de um esquema
- Subscreva um tópico com um esquema