Quando crei una sottoscrizione, la colleghi a un argomento e i sottoscrittori possono ricevere i messaggi della sottoscrizione. Per impedire ai sottoscrittori di ricevere messaggi, puoi scollegare le sottoscrizioni dall'argomento.
Prima di scollegare una sottoscrizione, devi disporre dell'autorizzazionepubsub.topics.detachSubscription
per l'argomento. Puoi scollegare un abbonamento senza autorizzazioni, il che è utile per gestire un argomento che si trova in un progetto diverso dall'abbonamento. Per maggiori informazioni, consulta Controllo dell'accesso a Pub/Sub.
Prima di iniziare
- Scopri di più sugli abbonamenti.
- Crea una delle seguenti sottoscrizioni: pull, push o BigQuery.
Ruoli e autorizzazioni obbligatori
Per ottenere le autorizzazioni necessarie per scollegare le sottoscrizioni e gestirle,
chiedi all'amministratore di concederti il ruolo IAM Editor Pub/Sub (roles/pubsub.editor
) per il tuo argomento o progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Questo ruolo predefinito contiene le autorizzazioni necessarie per scollegare gli abbonamenti e gestirli. Per visualizzare le autorizzazioni esatta richieste, espandi la sezione Autorizzazioni richieste:
Autorizzazioni obbligatorie
Per scollegare gli abbonamenti e gestirli sono necessarie le seguenti autorizzazioni:
-
Estrazione da un abbonamento:
pubsub.subscriptions.consume
-
Crea un abbonamento:
pubsub.subscriptions.create
-
Eliminare un abbonamento:
pubsub.subscriptions.delete
-
Acquista un abbonamento:
pubsub.subscriptions.get
-
Elencare un abbonamento:
pubsub.subscriptions.list
-
Aggiornare un abbonamento:
pubsub.subscriptions.update
-
Allega una sottoscrizione a un argomento:
pubsub.topics.attachSubscription
-
Recupera il criterio IAM per un abbonamento:
pubsub.subscriptions.getIamPolicy
-
Configura il criterio IAM per un abbonamento:
pubsub.subscriptions.setIamPolicy
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Puoi configurare il controllo dell'accesso a livello di progetto e a livello di singola risorsa. Puoi creare una sottoscrizione in un progetto e collegarla a un argomento in un altro progetto. Assicurati di disporre delle autorizzazioni necessarie per ogni progetto.
Scollegare una sottoscrizione da un argomento
Puoi scollegare una sottoscrizione da un argomento utilizzando la console Google Cloud , Google Cloud CLI, la libreria client o l'API Pub/Sub.
Console
Per scollegare un abbonamento:
Nella console Google Cloud , vai alla pagina Topic.
Seleziona l'argomento da cui vuoi scollegare un abbonamento.
Nella scheda Abbonamenti, seleziona l'abbonamento da scollegare.
Nella pagina Dettagli dell'abbonamento, fai clic su Scollega.
Nella finestra di dialogo visualizzata, fai di nuovo clic su Scollega.
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.
-
Per scollegare un abbonamento, utilizza il comando
gcloud pubsub topics detach-subscription
:gcloud pubsub topics detach-subscription SUBSCRIPTION_ID
Se la richiesta riesce, la riga di comando visualizza una conferma:
Detached subscription [SUBSCRIPTION_ID].
REST
Per scollegare un abbonamento, utilizza il metodo projects.subscriptions.detach
.
Richiesta:
La richiesta deve essere autenticata con un token di accesso nell'intestazione Authorization
. Per ottenere un token di accesso per le Credenziali predefinite dell'applicazione correnti, utilizza il 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
Dove:
Risposta:
Se la richiesta riesce, la risposta è un oggetto JSON vuoto.
C++
Prima di provare questo esempio, segui le istruzioni di configurazione di C++ riportate nella guida rapida di Pub/Sub che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Pub/Sub C++.
Per autenticarti a Pub/Sub, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Prima di provare questo esempio, segui le istruzioni di configurazione di C# riportate nella guida rapida di Pub/Sub che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Pub/Sub C#.
Per autenticarti a Pub/Sub, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Prima di provare questo esempio, segui le istruzioni di configurazione di Go riportate nella guida rapida di Pub/Sub che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Pub/Sub Go.
Per autenticarti a Pub/Sub, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java riportate nella guida rapida di Pub/Sub che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Pub/Sub Java.
Per autenticarti a Pub/Sub, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Node.js
PHP
Prima di provare questo esempio, segui le istruzioni di configurazione di PHP riportate nella guida rapida di Pub/Sub che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Pub/Sub PHP.
Per autenticarti a Pub/Sub, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python riportate nella guida rapida di Pub/Sub che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Pub/Sub Python.
Per autenticarti a Pub/Sub, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Ruby
Prima di provare questo esempio, segui le istruzioni di configurazione di Ruby riportate nella guida rapida di Pub/Sub che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Pub/Sub Ruby.
Per autenticarti a Pub/Sub, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Il servizio Pub/Sub potrebbe richiedere diversi minuti per completare il disaccoppiamento dell'iscrizione dall'argomento.
Dopo aver scollegato la sottoscrizione dall'argomento, il servizio Pub/Sub elimina tutti i messaggi memorizzati per la sottoscrizione. Non puoi recuperare questi messaggi dall'abbonamento o ricollegare l'abbonamento a un argomento. Per liberare la quota del progetto Google Cloud , elimina l'abbonamento.
Se l'iscrizione e l'argomento si trovano in progetti Google Cloud diversi, il servizio Pub/Sub aggiunge una voce ai log di controllo di entrambi i progetti.
Passaggi successivi
- Crea o modifica un abbonamento con i comandi
gcloud
. - Crea o modifica un abbonamento con le API REST.