Este documento descreve como eliminar um tópico do Pub/Sub. Para eliminar um tópico, pode usar a Google Cloud consola, a CLI Google, a biblioteca cliente ou a API Pub/Sub.
Antes de começar
- Saiba mais sobre os tópicos e o fluxo de trabalho de publicação de mensagens.
- Crie um tópico.
Funções e autorizações necessárias
Para receber as autorizações de que
precisa para eliminar tópicos e geri-los,
peça ao seu administrador para lhe conceder a
função de IAM de editor do Pub/Sub(roles/pubsub.editor
)
no seu tópico ou 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 tópicos e geri-los. 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 tópicos e geri-los:
-
Crie um tópico:
pubsub.topics.create
-
Eliminar um tópico:
pubsub.topics.delete
-
Desassociar uma subscrição de um tópico:
pubsub.topics.detachSubscription
-
Obter um tópico:
pubsub.topics.get
-
Indique um tópico:
pubsub.topics.list
-
Publicar num tópico:
pubsub.topics.publish
-
Atualize um tópico:
pubsub.topics.update
-
Obtenha a Política IAM para um tópico:
pubsub.topics.getIamPolicy
-
Configure a política IAM para um tópico:
pubsub.topics.setIamPolicy
Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.
Pode configurar o controlo de acesso ao nível do projeto e ao nível do recurso individual. Pode criar uma subscrição num projeto e anexá-la a um tópico localizado num projeto diferente. Certifique-se de que tem as autorizações necessárias para cada projeto.
Elimine um tópico
Quando elimina um tópico, as respetivas subscrições não são eliminadas. O backlog de mensagens da subscrição está disponível para os subscritores. Depois de um tópico ser eliminado, as respetivas subscrições têm o nome do tópico _deleted-topic_
. Se tentar criar um tópico com o mesmo nome do que acabou de eliminar, vai receber um erro durante um breve período.
Consola
Na Google Cloud consola, aceda à página Tópicos do Pub/Sub.
Selecione um tópico e clique em
Mais ações.Clique em Eliminar.
É apresentada a janela Eliminar tópico.
Introduza
delete
e, de seguida, clique em Eliminar.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
Para eliminar um tópico, use o comando:
gcloud pubsub topics delete
gcloud pubsub topics delete TOPIC_ID
- PROJECT_ID é o ID do seu projeto.
- TOPIC_ID é o ID do seu tópico.
REST
Para eliminar um tópico, use o método
projects.topics.delete
:
Pedido:
O pedido tem de ser autenticado com um token de acesso no cabeçalho Authorization
. Para obter uma chave de acesso para as
Credenciais padrão da aplicação atuais: gcloud auth application-default print-access-token
.
DELETE https://pubsub.googleapis.com/v1/projects/PROJECT_ID/topics/TOPIC_ID Authorization: Bearer ACCESS_TOKEN
Onde:
Resposta:
Se o pedido for bem-sucedido, a resposta é um objeto JSON vazio.
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.
C#
Antes de experimentar este exemplo, siga as instruções de configuração do C# em 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.
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.ts
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.
PHP
Antes de experimentar este exemplo, siga as instruções de configuração do PHP no artigo Início rápido: usar bibliotecas cliente. Para mais informações, consulte a documentação de referência da API PHP 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.
Ruby
O exemplo seguinte usa a biblioteca cliente Ruby Pub/Sub v3. Se ainda estiver a usar a biblioteca v2, consulte o guia de migração para a v3. Para ver uma lista de exemplos de código do Ruby v2, consulte os exemplos de código descontinuados.
Antes de experimentar este exemplo, siga as instruções de configuração do Ruby em Início rápido: usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Ruby Pub/Sub.
O que se segue?
Escolha o tipo de subscrição para o seu tópico.
Crie uma subscrição para o seu tópico: pull, push ou BigQuery.
Crie ou modifique um tópico com a CLI gcloud.
Crie ou modifique um tópico com APIs REST.