Neste documento, descrevemos como excluir um tópico do Pub/Sub. Para excluir um tópico, use o console do Google Cloud , a CLI do Google, a biblioteca de cliente ou a API Pub/Sub.
Antes de começar
- Saiba mais sobre tópicos e o fluxo de trabalho de publicação de mensagens.
- Crie um tópico.
Papéis e permissões necessárias
Para receber as permissões necessárias
para excluir e gerenciar tópicos,
peça ao administrador para conceder a você o
papel de editor do Pub/Sub(roles/pubsub.editor)
do IAM no seu tópico ou 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 tópicos. Para acessar 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 tópicos:
-
Crie um tópico:
pubsub.topics.create -
Excluir um tema:
pubsub.topics.delete -
Remover uma assinatura de um tópico:
pubsub.topics.detachSubscription -
Receber um tema:
pubsub.topics.get -
Listar um tópico:
pubsub.topics.list -
Publicar em um tópico:
pubsub.topics.publish -
Atualizar um tema:
pubsub.topics.update -
Acessar a política do IAM de um tópico:
pubsub.topics.getIamPolicy -
Configure a política do IAM para um tópico:
pubsub.topics.setIamPolicy
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
É possível configurar o controle de acesso no nível do projeto e no nível de cada recurso. É possível criar uma assinatura em um projeto e anexá-la a um tópico localizado em outro projeto. Verifique se você tem as permissões necessárias para cada projeto.
Excluir um tópico
Quando você exclui um tópico, as assinaturas dele não são excluídas. O
backlog de mensagens da assinatura está disponível para os assinantes. Depois que um tópico é excluído, as assinaturas dele ficam com o nome de tópico _deleted-topic_. Se você tentar
criar um tópico com o mesmo nome daquele que acabou de excluir, um erro
será exibido por um breve período.
Console
No console Google Cloud , acesse a página Tópicos do Pub/Sub.
Selecione um tópico e clique em Mais ações.
Clique em Excluir.
A janela Excluir tópico vai aparecer.
Digite
deletee clique em Excluir.
gcloud
-
No console do Google Cloud , ative o Cloud Shell.
Na parte de baixo do console Google Cloud , uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.
-
Para excluir um tópico, use o comando
gcloud pubsub topics delete:gcloud pubsub topics delete TOPIC_ID
REST
Para excluir um tópico, use o método
projects.topics.delete:
Solicitação:
A solicitação precisa ser autenticada com um token de acesso no cabeçalho Authorization. Para conseguir um token de acesso para o Application Default Credentials: gcloud auth application-default print-access-token.
DELETE https://pubsub.googleapis.com/v1/projects/PROJECT_ID/topics/TOPIC_ID Authorization: Bearer ACCESS_TOKEN
Em que:
- PROJECT_ID é o ID do projeto;
- TOPIC_ID é o ID do tópico.
Resposta:
Se a solicitação for bem-sucedida, a resposta será um objeto JSON vazio.
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 para C++.
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 para C#.
Go
O exemplo a seguir usa a versão principal da biblioteca de cliente do Pub/Sub para Go (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 testar esta amostra, siga as instruções de configuração do Go no 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 para Java (em inglês).
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 para Node.js (em inglês).
Node.ts
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 para Node.js (em inglês).
PHP
Antes de tentar esse exemplo, siga as instruções de configuração do PHP 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 para PHP.
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 Python do Pub/Sub.
Ruby
O exemplo a seguir usa a biblioteca de cliente do Ruby Pub/Sub v3. Se você ainda estiver usando 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 testar esta amostra, siga as instruções de configuração do Ruby no 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 Ruby.
Rust
Antes de testar este exemplo, siga as instruções de configuração do Rust 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 Rust.
A seguir
Escolha o tipo de assinatura do seu tópico.
Crie uma assinatura para seu tópico: pull, push ou BigQuery.
Criar ou modificar um tópico com a CLI gcloud.
Criar ou modificar um tópico com APIs REST.