Une fois l'abonnement créé, vous pouvez modifier la méthode de distribution et choisir entre push, pull ou exportation.
Avant de commencer
- Créez l'un des abonnements compatibles.
Rôles et autorisations requis
Pour obtenir les autorisations nécessaires pour modifier les types d'abonnement et les gérer, demandez à votre administrateur de vous accorder le rôle IAM Éditeur Pub/Sub (roles/pubsub.editor
) sur votre thème ou votre projet.
Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.
Ce rôle prédéfini contient les autorisations requises pour modifier les types d'abonnement et les gérer. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Vous devez disposer des autorisations suivantes pour modifier les types d'abonnement et les gérer :
-
Extraire des données d'un abonnement :
pubsub.subscriptions.consume
-
Créez un abonnement :
pubsub.subscriptions.create
-
Supprimer un abonnement :
pubsub.subscriptions.delete
-
Souscrivez un abonnement :
pubsub.subscriptions.get
-
Lister un abonnement :
pubsub.subscriptions.list
-
Modifier un abonnement :
pubsub.subscriptions.update
-
Joignez un abonnement à un sujet :
pubsub.topics.attachSubscription
-
Obtenez la stratégie IAM pour 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 de chaque ressource. 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.
Modifier les modes de distribution
Vous pouvez passer d'un type d'abonnement à un autre.
Console
Pour modifier un abonnement, procédez comme suit :
- Dans la console Trusted Cloud , accédez à la page Abonnements.
- Cliquez sur more_vert à côté de l'abonnement à mettre à jour.
- Dans le champ Type de diffusion, sélectionnez une option de diffusion.
- Renseignez les autres propriétés de l'abonnement selon vos besoins.
- Cliquez sur Mettre à jour.
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.
-
Pour modifier l'URL du point de terminaison push, exécutez la commande
gcloud pubsub subscriptions modify-push-config
:gcloud pubsub subscriptions modify-push-config SUBSCRIPTION_ID \ --push-endpoint=PUSH_ENDPOINT
Si l'abonnement utilise déjà la distribution pull, la configuration du point de terminaison push bascule le mode de distribution en mode push.
Vous pouvez passer d'une distribution push à une distribution pull en remplaçant le point de terminaison push par une chaîne vide.
- PROJECT_ID est l'ID de votre projet.
- SUBSCRIPTION_ID est l'ID de votre abonnement.
- PUSH_ENDPOINT est une URL modifiée que vous souhaitez appliquer comme nouveau point de terminaison push. Exemple :
https://myproject.appspot.com/myhandler
REST
Pour modifier les configurations push d'un abonnement, utilisez la méthode projects.subscriptions.modifyPushConfig
:
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, exécutez la commande suivante : gcloud auth application-default print-access-token
.
POST https://pubsub.googleapis.com/v1/projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID:modifyPushConfig Authorization: Bearer ACCESS_TOKEN
Corps de la requête :
{ "pushConfig": { "pushEndpoint": "PUSH_ENDPOINT" } }
Où :
Réponse :
Si la requête aboutit, la réponse est un objet JSON vide.
C++
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage C++ qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour C++.
C#
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage C# qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour C#.
Go
L'exemple suivant utilise la version majeure de la bibliothèque cliente Go Pub/Sub (v2). Si vous utilisez toujours la bibliothèque v1, consultez le guide de migration vers la v2. Pour consulter la liste des exemples de code de la version 1, consultez les exemples de code obsolètes.
Avant d'essayer cet exemple, suivez les instructions de configuration pour Go du guide de démarrage rapide : Utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour Go.
Java
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage Java qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour Java.
Node.js
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage Node.js qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour Node.js.
Node.ts
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage Node.js qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour Node.js.
Python
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage Python qui se trouvent sur la page Démarrage rapide : utiliser des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour Python.
Ruby
L'exemple suivant utilise la bibliothèque cliente Ruby Pub/Sub v3. Si vous utilisez toujours la bibliothèque v2, consultez le guide de migration vers la v3. Pour afficher la liste des exemples de code Ruby v2, consultez les exemples de code obsolètes.
Avant d'essayer cet exemple, suivez les instructions de configuration pour Ruby du guide de démarrage rapide : Utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour Ruby.
Étapes suivantes
- Créez ou modifiez un abonnement à l'aide des commandes
gcloud
. - Créez ou modifiez un abonnement avec les API REST.