Une fois que vous avez créé un abonnement, vous pouvez modifier le mode de distribution en push, pull ou exportation.
Avant de commencer
- Créez l'un des abonnements compatibles.
Rôles et autorisations requis
Pour obtenir l'autorisation dont
vous avez besoin pour modifier un type d'abonnement,
demandez à votre administrateur de vous accorder le
rôle IAM Éditeur Pub/Sub (roles/pubsub.editor) sur l'abonnement.
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Ce rôle prédéfini contient l'
pubsub.subscriptions.update
autorisation,
qui est requise pour
modifier un type d'abonnement.
Vous pouvez également obtenir cette autorisation 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 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.
Modifier le type de distribution d'un abonnement
Pour modifier le type de distribution d'un abonnement, procédez comme suit.
Console
Dans la Google Cloud console, accédez à la page Abonnements.
Cliquez sur le nom de l'abonnement que vous souhaitez modifier.
Sur la page d'informations de l'abonnement, cliquez sur Modifier.
Dans le champ Type de distribution, sélectionnez le nouveau type de distribution.
Renseignez les propriétés du nouveau type d'abonnement. Pour en savoir plus, consultez les articles suivants :
Facultatif. Modifiez les autres propriétés de l'abonnement si nécessaire.
Cliquez sur Mettre à jour.
gcloud
Pour modifier le type de distribution, utilisez la
gcloud pubsub subscriptions update
commande. Effacez la configuration du type de distribution actuel et définissez la configuration du nouveau type, comme suit :
gcloud pubsub subscriptions update SUBSCRIPTION_ID \
CLEAR_CONFIG_FLAG \
NEW_CONFIG_FLAGS
Remplacez les éléments suivants :
SUBSCRIPTION_ID : nom de l'abonnement à modifier.
CLEAR_CONFIG_FLAG : flag permettant d'effacer la configuration existante pour le type de distribution. Utilisez l'un des flags suivants, en fonction du type de distribution actuel :
Abonnement pull :
--no-enable-exactly-once-deliveryAbonnement push :
--push-endpoint=""Abonnement BigQuery :
--clear-bigquery-configAbonnement Bigtable :
--clear-bigtable-configAbonnement de Cloud Storage :
--clear-cloud-storage-config
NEW_CONFIG_FLAGS : flags permettant de configurer le nouveau type de distribution. Pour en savoir plus, consultez la documentation sur la
gcloud pubsub subscriptions updatecommande.
Exemples
Modifier un abonnement BigQuery en abonnement pull :
gcloud pubsub subscriptions update SUBSCRIPTION_ID \
--clear-bigquery-config
Modifier un abonnement push en abonnement BigQuery :
gcloud pubsub subscriptions update SUBSCRIPTION_ID \
--push-endpoint="" \
--bigquery-table=BIGQUERY_TABLE
Modifier un point de terminaison d'abonnement push
Pour modifier l'URL du point de terminaison d'un abonnement push, procédez comme suit.
Console
Pour modifier l'URL du point de terminaison, procédez comme suit :
- Dans la Google Cloud console, accédez à la page Abonnements.
- Cliquez sur more_vert à côté de l'abonnement à modifier.
- Dans le champ Type de distribution, sélectionnez une option de distribution.
- Renseignez les autres propriétés de l'abonnement si nécessaire.
- Cliquez sur Mettre à jour.
gcloud
-
Dans la Google Cloud console, activez Cloud Shell.
En bas de la Google Cloud console, une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement de shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.
-
Pour modifier l'URL du point de terminaison, exécutez la
gcloud pubsub subscriptions modify-push-configcommande :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.
REST
Pour modifier les configurations push d'un abonnement, utilisez la
projects.subscriptions.modifyPushConfig
méthode :
Requête :
La demande doit être authentifiée à l'aide d'un jeton d'accès dans l'
Authorization en-tête. 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ù :
https://myproject.appspot.com/myhandler.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 de 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 afficher la liste des exemples de code v1, consultez les exemples de code obsolètes.
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage Go 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 de 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 de 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 de 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 de 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 de 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 d'installation dans le langage Ruby 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 de l'API Pub/Sub pour Ruby.
Étape suivante
- Créer ou modifier un abonnement avec
gcloudcommandes. - Créer ou modifier un abonnement avec des API REST.