Ce document explique comment créer un abonnement par extraction. Vous pouvez utiliser la console Google Cloud , Google Cloud CLI, la bibliothèque cliente ou l'API Pub/Sub pour créer un abonnement par extraction.
Avant de commencer
- En savoir plus sur les abonnements
- Évaluez si votre entreprise a besoin d'un abonnement par extraction.
- Comprendre le fonctionnement des abonnements pull
Rôles et autorisations requis
Pour créer un abonnement, vous devez configurer le contrôle des accès au niveau du projet. Vous avez également besoin d'autorisations au niveau des ressources si vos abonnements et vos sujets se trouvent dans des projets différents, comme indiqué plus loin dans cette section.
Pour obtenir les autorisations nécessaires pour créer des abonnements pull, demandez à votre administrateur de vous accorder le rôle IAM Éditeur Pub/Sub (roles/pubsub.editor
) sur le 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 créer des abonnements par extraction. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour créer des abonnements pull :
-
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.
Si vous devez créer des abonnements par extraction dans un projet qui sont associés à un sujet dans un autre projet, demandez à l'administrateur du sujet de vous accorder également le rôle IAM Éditeur Pub/Sub (roles/pubsub.editor)
sur le sujet.
Propriétés des abonnements pull
Lorsque vous configurez un abonnement par extraction, vous pouvez spécifier les propriétés suivantes.
Propriétés communes
Découvrez les propriétés d'abonnement courantes que vous pouvez définir pour tous les abonnements.
Diffusion de type "exactement une fois"
Diffusion de type "exactement une fois". Si cette option est définie, Pub/Sub respecte les garanties de distribution exactement une fois. Si aucune valeur n'est spécifiée, l'abonnement accepte la distribution au moins une fois pour chaque message.
Créer un abonnement pull
Les exemples suivants montrent comment créer un abonnement avec une distribution par extraction, à l'aide des paramètres par défaut fournis.
Console
Pour créer un abonnement pull, procédez comme suit.
Dans la console Google Cloud , accédez à la page Abonnements.
- Cliquez sur Créer un abonnement.
Dans le champ ID d'abonnement, saisissez un nom.
Pour savoir comment nommer un abonnement, consultez Consignes de dénomination d'un sujet ou d'un abonnement.
- Choisissez ou créez un sujet dans le menu déroulant. L'abonnement reçoit les messages du sujet.
- Laissez le type de distribution défini sur Retrait.
- Conservez toutes les autres valeurs par défaut.
- Cliquez sur Créer.
Vous pouvez également créer un abonnement à partir de la section Sujets. Ce raccourci est utile pour associer des sujets à des abonnements.
Dans la console Google Cloud , accédez à la page Sujets.
- Cliquez sur more_vert à côté du sujet pour lequel vous souhaitez créer un abonnement.
- Dans le menu contextuel, sélectionnez Créer un abonnement.
Saisissez l'ID de l'abonnement.
Pour savoir comment nommer un abonnement, consultez Consignes de dénomination d'un sujet ou d'un abonnement.
- Laissez le type de distribution défini sur Retrait.
- Conservez toutes les autres valeurs par défaut.
- Cliquez sur Créer.
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 créer un abonnement par extraction, exécutez la commande
gcloud pubsub subscriptions create
.gcloud pubsub subscriptions create SUBSCRIPTION_ID --topic=TOPIC_ID
Remplacez les éléments suivants :
SUBSCRIPTION_ID
: nom ou ID de votre nouvel abonnement pull.TOPIC_ID
: nom ou ID de votre sujet.
REST
Pour créer un abonnement pull, utilisez la méthode
projects.subscriptions.create
:
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
.
PUT https://pubsub.googleapis.com/v1/projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID Authorization: Bearer ACCESS_TOKEN
Corps de la requête :
{ "topic": "projects/PROJECT_ID/topics/TOPIC_ID" }
Où :
Réponse :
{ "name": "projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID", "topic": "projects/PROJECT_ID/topics/TOPIC_ID", "pushConfig": {}, "ackDeadlineSeconds": 10, "messageRetentionDuration": "604800s", "expirationPolicy": { "ttl": "2678400s" } }
C++
Avant d'essayer cet exemple, suivez les instructions de configuration pour C++ du guide de démarrage rapide de Pub/Sub : Utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour C++.
Pour vous authentifier auprès de Pub/Sub, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.
C#
Avant d'essayer cet exemple, suivez les instructions de configuration pour C# du guide de démarrage rapide de Pub/Sub : Utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour C#.
Pour vous authentifier auprès de Pub/Sub, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.
Go
Avant d'essayer cet exemple, suivez les instructions de configuration pour Go du guide de démarrage rapide de Pub/Sub : Utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour Go.
Pour vous authentifier auprès de Pub/Sub, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.
Java
Avant d'essayer cet exemple, suivez les instructions de configuration pour Java du guide de démarrage rapide de Pub/Sub : Utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour Java.
Pour vous authentifier auprès de Pub/Sub, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.
Node.js
Node.js
PHP
Avant d'essayer cet exemple, suivez les instructions de configuration pour PHP du guide de démarrage rapide de Pub/Sub : Utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour PHP.
Pour vous authentifier auprès de Pub/Sub, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.
Python
Avant d'essayer cet exemple, suivez les instructions de configuration pour Python du guide de démarrage rapide de Pub/Sub : Utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour Python.
Pour vous authentifier auprès de Pub/Sub, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.
Ruby
Avant d'essayer cet exemple, suivez les instructions de configuration pour Ruby du guide de démarrage rapide de Pub/Sub : Utiliser les bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence sur l'API Pub/Sub pour Ruby.
Pour vous authentifier auprès de Pub/Sub, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez la page Configurer l'authentification pour les bibliothèques clientes.
Surveiller les abonnements pull
Cloud Monitoring fournit un certain nombre de métriques pour surveiller les abonnements.
Pour obtenir la liste de toutes les métriques disponibles liées à Pub/Sub et leurs descriptions, consultez la documentation sur la surveillance de Pub/Sub.
Vous pouvez également surveiller les abonnements dans Pub/Sub.
Étapes suivantes
- Créez ou modifiez un abonnement à l'aide des commandes
gcloud
. - Créez ou modifiez un abonnement avec les API REST.