Lorsque vous créez un abonnement, vous l'associez à un sujet, et les abonnés peuvent recevoir les messages de l'abonnement. Pour empêcher les abonnés de recevoir des messages, vous pouvez dissocier les abonnements du sujet.
Pour pouvoir dissocier un abonnement, vous devez disposer de l'autorisation pubsub.topics.detachSubscription
sur le sujet. Vous pouvez dissocier un abonnement sans disposer d'autorisations sur celui-ci, ce qui est utile pour gérer un sujet situé dans un projet différent de celui de l'abonnement. Pour en savoir plus, consultez la page Contrôle des accès Pub/Sub.
Avant de commencer
- En savoir plus sur les abonnements
- Créez l'un des abonnements suivants : pull, push ou BigQuery.
Rôles et autorisations requis
Pour obtenir les autorisations nécessaires pour dissocier et gérer les abonnements, demandez à votre administrateur de vous attribuer le rôle IAM Éditeur Pub/Sub (roles/pubsub.editor
) sur votre sujet ou votre projet.
Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.
Ce rôle prédéfini contient les autorisations nécessaires pour dissocier des abonnements et les gérer. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour dissocier des abonnements et les gérer:
-
Extrait d'un abonnement :
pubsub.subscriptions.consume
-
Créer un abonnement :
pubsub.subscriptions.create
-
Supprimer un abonnement :
pubsub.subscriptions.delete
-
Souscrire un abonnement :
pubsub.subscriptions.get
-
Répertorier un abonnement :
pubsub.subscriptions.list
-
Mettre à jour un abonnement :
pubsub.subscriptions.update
-
Associer un abonnement à un sujet :
pubsub.topics.attachSubscription
-
Obtenez la stratégie IAM d'un abonnement :
pubsub.subscriptions.getIamPolicy
-
Configurez la stratégie IAM pour un abonnement :
pubsub.subscriptions.setIamPolicy
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Vous pouvez configurer le contrôle des accès au niveau du projet et au niveau des ressources individuelles. Vous pouvez créer un abonnement dans un projet et l'associer à un sujet situé dans un autre projet. Assurez-vous de disposer des autorisations requises pour chaque projet.
Dissocier un abonnement d'un sujet
Vous pouvez dissocier un abonnement d'un sujet à l'aide de la console Google Cloud, de Google Cloud CLI, de la bibliothèque cliente ou de l'API Pub/Sub.
Console
Pour dissocier un abonnement, procédez comme suit :
Dans la console Google Cloud, accédez à la page Sujets.
Sélectionnez le sujet dont vous souhaitez dissocier un abonnement.
Dans l'onglet Abonnements, sélectionnez l'abonnement à dissocier.
Sur la page Détails de l'abonnement, cliquez sur Dissocier.
Dans la boîte de dialogue qui s'affiche, cliquez de nouveau sur Dissocier.
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.
-
Pour dissocier un abonnement, utilisez la commande
gcloud pubsub topics detach-subscription
:gcloud pubsub topics detach-subscription SUBSCRIPTION_ID
Si la requête aboutit, la ligne de commande affiche une confirmation :
Detached subscription [SUBSCRIPTION_ID].
REST
Pour dissocier un abonnement, utilisez la méthode projects.subscriptions.detach
.
Requête :
La demande doit être authentifiée à l'aide d'un jeton d'accès dans l'en-tête Authorization
. Pour obtenir un jeton d'accès pour les identifiants par défaut actuels de l'application, utilisez la commande
gcloud auth application-default print-access-token
.
POST https://pubsub.googleapis.com/v1/projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID:detach Authorization: Bearer ACCESS_TOKEN
Où :
Solution :
Si la requête aboutit, la réponse est un objet JSON vide.
C++
Avant d'essayer cet exemple, suivez les instructions de configuration de C++ décrites dans le guide de démarrage rapide de Pub/Sub à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Pub/Sub C++.
Pour vous authentifier auprès de Pub/Sub, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
C#
Avant d'essayer cet exemple, suivez les instructions de configuration de C# décrites dans le guide de démarrage rapide de Pub/Sub à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Pub/Sub C#.
Pour vous authentifier auprès de Pub/Sub, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Avant d'essayer cet exemple, suivez les instructions de configuration de Go décrites dans le guide de démarrage rapide de Pub/Sub à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Pub/Sub Go.
Pour vous authentifier auprès de Pub/Sub, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Avant d'essayer cet exemple, suivez les instructions de configuration de Java décrites dans le guide de démarrage rapide de Pub/Sub à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Pub/Sub Java.
Pour vous authentifier auprès de Pub/Sub, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Node.js
PHP
Avant d'essayer cet exemple, suivez les instructions de configuration de PHP décrites dans le guide de démarrage rapide de Pub/Sub à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Pub/Sub PHP.
Pour vous authentifier auprès de Pub/Sub, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Avant d'essayer cet exemple, suivez les instructions de configuration de Python décrites dans le guide de démarrage rapide de Pub/Sub à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Pub/Sub Python.
Pour vous authentifier auprès de Pub/Sub, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Avant d'essayer cet exemple, suivez les instructions de configuration de Ruby décrites dans le guide de démarrage rapide de Pub/Sub à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Pub/Sub Ruby.
Pour vous authentifier auprès de Pub/Sub, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Le service Pub/Sub peut prendre plusieurs minutes pour finir de dissocier l'abonnement du sujet.
Une fois que le service Pub/Sub a dissocié l'abonnement du sujet, il supprime tous les messages qu'il conserve pour l'abonnement. Vous ne pourrez plus récupérer ces messages dans l'abonnement ni associer de nouveau cet abonnement à un sujet. Pour libérer votre quota de projets Google Cloud, supprimez l'abonnement.
Si l'abonnement et le sujet se trouvent dans des projets Google Cloud différents, le service Pub/Sub ajoute une entrée aux journaux d'audit des deux projets.
Étapes suivantes
- Créez ou modifiez un abonnement à l'aide de commandes
gcloud
. - Créez ou modifiez un abonnement avec les API REST.