Quando crei una sottoscrizione, la colleghi a un argomento e i sottoscrittori possono ricevere i messaggi dalla sottoscrizione. Per impedire agli iscritti di ricevere messaggi, puoi scollegare le iscrizioni dall'argomento.
Prima di scollegare un abbonamento, devi disporre dell'autorizzazione
pubsub.topics.detachSubscription
per l'argomento. Puoi scollegare un
abbonamento senza autorizzazioni per l'abbonamento, il che è utile per
gestire un argomento che si trova in un progetto diverso dall'abbonamento. Per
ulteriori informazioni, consulta
Controllo dell'accesso Pub/Sub.
Prima di iniziare
- Scopri di più sugli abbonamenti.
- Crea una delle seguenti sottoscrizioni: pull, push o BigQuery.
Ruoli e autorizzazioni richiesti
Per ottenere le autorizzazioni necessarie per scollegare gli abbonamenti e gestirli, chiedi all'amministratore di concederti il ruolo IAM Editor Pub/Sub (roles/pubsub.editor
) nell'argomento o nel progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questo ruolo predefinito contiene le autorizzazioni necessarie per scollegare gli abbonamenti e gestirli. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per scollegare gli abbonamenti e gestirli sono necessarie le seguenti autorizzazioni:
-
Pull da un abbonamento:
pubsub.subscriptions.consume
-
Crea un abbonamento:
pubsub.subscriptions.create
-
Eliminare un abbonamento:
pubsub.subscriptions.delete
-
Acquista un abbonamento:
pubsub.subscriptions.get
-
Elenca un abbonamento:
pubsub.subscriptions.list
-
Aggiornare un abbonamento:
pubsub.subscriptions.update
-
Allegare un abbonamento 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 che si trova in un altro progetto. Assicurati di disporre delle autorizzazioni necessarie per ogni progetto.
Scollegare un abbonamento da un argomento
Puoi scollegare una sottoscrizione da un argomento utilizzando la console Trusted Cloud , Google Cloud CLI, la libreria client o l'API Pub/Sub.
Console
Per scollegare un abbonamento:
Nella console Trusted Cloud , vai alla pagina Argomenti.
Seleziona l'argomento da cui vuoi separare un abbonamento.
Nella scheda Abbonamenti, seleziona l'abbonamento da scollegare.
Nella pagina Dettagli sottoscrizione, fai clic su Scollega.
Nella finestra di dialogo visualizzata, fai di nuovo clic su Scollega.
gcloud
-
In the Trusted Cloud console, activate Cloud Shell.
At the bottom of the Trusted 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 va a buon fine, la riga di comando visualizza una conferma:
Detached subscription [SUBSCRIPTION_ID].
- PROJECT_ID è l'ID progetto.
- SUBSCRIPTION_ID è l'ID abbonamento.
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 ha esito positivo, la risposta è un oggetto JSON vuoto.
C++
Prima di provare questo esempio, segui le istruzioni di configurazione di C++ nella guida rapida all'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Pub/Sub C++.
C#
Prima di provare questo esempio, segui le istruzioni di configurazione di C# nella guida rapida all'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Pub/Sub C#.
Vai
L'esempio seguente utilizza la versione principale della libreria client Go Pub/Sub (v2). Se utilizzi ancora la libreria v1, consulta la guida alla migrazione alla v2. Per visualizzare un elenco di esempi di codice della versione 1, consulta gli esempi di codice ritirati.
Prima di provare questo esempio, segui le istruzioni di configurazione di Go nella guida rapida all'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Pub/Sub Go.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida all'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Java di Pub/Sub.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella Guida rapida all'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Pub/Sub Node.js.
Node.ts
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella Guida rapida all'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Pub/Sub Node.js.
PHP
Prima di provare questo esempio, segui le istruzioni di configurazione di PHP nella guida rapida all'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Pub/Sub PHP.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida all'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Pub/Sub Python.
Ruby
Il seguente esempio utilizza la libreria client Ruby Pub/Sub v3. Se utilizzi ancora la libreria v2, consulta la guida alla migrazione alla v3. Per visualizzare un elenco di esempi di codice Ruby v2, consulta gli esempi di codice ritirati.
Prima di provare questo esempio, segui le istruzioni di configurazione di Ruby nella guida rapida all'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Pub/Sub Ruby.
Il servizio Pub/Sub potrebbe richiedere diversi minuti per completare il distacco dell'abbonamento dall'argomento.
Dopo che il servizio Pub/Sub scollega la sottoscrizione dall'argomento, elimina tutti i messaggi che conserva per la sottoscrizione. Non puoi recuperare questi messaggi dalla sottoscrizione o ricollegare la sottoscrizione a un argomento. Per liberare la quota del progetto Trusted Cloud , elimina l'abbonamento.
Se l'abbonamento e l'argomento si trovano in progetti diversi, Trusted Cloud 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.