Ao criar uma assinatura, você a anexa a um tópico e os assinantes podem receber mensagens da assinatura. Para impedir que os inscritos que está recebendo mensagens, desanexe as assinaturas do tópico.
Antes de remover uma assinatura, você precisa da
permissão pubsub.topics.detachSubscription
no tópico. É possível remover uma
assinatura sem permissões na assinatura, o que é útil para gerenciar
um tópico que esteja em um projeto diferente da assinatura. Para
mais informações, consulte
Controle de acesso do Pub/Sub.
Antes de começar
- Saiba mais sobre assinaturas.
- Crie uma das seguintes assinaturas: pull, push ou BigQuery.
Papéis e permissões necessárias
Para receber as permissões necessárias para remover assinaturas e gerenciá-las,
peça ao administrador para conceder a você
Papel do IAM Editor do Pub/Sub (roles/pubsub.editor
) no 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 desvincular e gerenciar assinaturas. 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 desanexar assinaturas e gerenciá-las:
-
Extrair de uma assinatura:
pubsub.subscriptions.consume
-
Criar uma assinatura:
pubsub.subscriptions.create
-
Excluir uma assinatura:
pubsub.subscriptions.delete
-
Receber uma assinatura:
pubsub.subscriptions.get
-
Listar uma assinatura:
pubsub.subscriptions.list
-
Atualizar uma assinatura:
pubsub.subscriptions.update
-
Anexe uma assinatura a um tópico:
pubsub.topics.attachSubscription
-
Para receber a política do IAM de uma assinatura:
pubsub.subscriptions.getIamPolicy
-
Configure a política do IAM para uma assinatura:
pubsub.subscriptions.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 para envolvidos no projeto no nível do 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 para cada projeto.
Remover uma assinatura de um tópico
É possível remover a assinatura de um tópico usando o console do Google Cloud, a CLI do Google Cloud, a biblioteca de cliente ou a API Pub/Sub.
Console
Para remover uma assinatura, siga estas etapas:
No console do Google Cloud, acesse a página Tópicos.
Selecione o tópico de que você quer remover uma assinatura.
Na guia Assinaturas, selecione a assinatura que você quer remover.
Na página Detalhes da assinatura, clique em Remover.
Na caixa de diálogo exibida, clique em Remover novamente.
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 remover uma assinatura, use o comando
gcloud pubsub topics detach-subscription
:gcloud pubsub topics detach-subscription SUBSCRIPTION_ID
Se a solicitação for bem-sucedida, a linha de comando exibirá uma confirmação:
Detached subscription [SUBSCRIPTION_ID].
REST
Para remover uma assinatura, use o método projects.subscriptions.detach
.
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 atual, use o comando gcloud auth application-default print-access-token
.
POST https://pubsub.googleapis.com/v1/projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID:detach Authorization: Bearer ACCESS_TOKEN
Em que:
Resposta:
Se a solicitação for bem-sucedida, a resposta será um objeto JSON vazio.
C++
Antes de testar esta amostra, siga as instruções de configuração do C++ no Guia de início rápido do Pub/Sub: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub C++.
Para autenticar no Pub/Sub, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
C#
Antes de testar esta amostra, siga as instruções de configuração do C# no Guia de início rápido do Pub/Sub: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub C#.
Para autenticar no Pub/Sub, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Go
Antes de testar esta amostra, siga as instruções de configuração do Go no Guia de início rápido do Pub/Sub: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub Go.
Para autenticar no Pub/Sub, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Antes de testar este exemplo, siga as instruções de configuração do Java na Guia de início rápido do Pub/Sub usando bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub Java.
Para autenticar no Pub/Sub, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Node.js
PHP
Antes de testar este exemplo, siga as instruções de configuração do PHP na Guia de início rápido do Pub/Sub usando bibliotecas de cliente. Para mais informações, consulte a API PHP do Pub/Sub documentação de referência.
Para autenticar no Pub/Sub, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Antes de testar este exemplo, siga as instruções de configuração do Python na Guia de início rápido do Pub/Sub usando bibliotecas de cliente. Para mais informações, consulte a API Python do Pub/Sub documentação de referência.
Para autenticar no Pub/Sub, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Ruby
Antes de testar esta amostra, siga as instruções de configuração do Ruby no Guia de início rápido do Pub/Sub: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Pub/Sub Ruby.
Para autenticar no Pub/Sub, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
O serviço Pub/Sub pode levar vários minutos para concluir a remoção da assinatura do tópico.
Depois que o serviço do Pub/Sub remove a assinatura do tópico, o serviço do Pub/Sub exclui todas as mensagens retidas para a assinatura. Não é possível recuperar essas mensagens da assinatura nem reconectá-la a um tópico. Para liberar seu projeto do Google Cloud cota, exclua a assinatura.
Se a assinatura e o tópico estiverem em projetos diferentes do Google Cloud, o O serviço Pub/Sub adiciona uma entrada aos registros de auditoria dos dois projetos.
A seguir
- Crie ou modifique uma assinatura com os comandos
gcloud
. - Crie ou modifique uma assinatura com APIs REST.