Ce document explique comment créer un abonnement pull. Vous pouvez utiliser la Google Cloud console, la Google Cloud CLI, la bibliothèque cliente ou l'API Pub/Sub pour créer un abonnement pull.
Avant de commencer
- En savoir plus sur les abonnements.
- Déterminer si votre entreprise a besoin d'un abonnement pull.
- Comprendre le fonctionnement des abonnements pull
Rôles et autorisations requis
Pour obtenir les autorisations nécessaires pour créer un abonnement 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 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 un abonnement pull. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour créer un abonnement pull :
-
pubsub.subscriptions.createsur le projet -
pubsub.topics.attachSubscriptionsur le sujet
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Abonnements multiprojets
Si vous créez un abonnement dans un projet pour un sujet d'un autre projet, vous devez disposer de l'autorisation pubsub.subscriptions.create sur le projet dans lequel vous créez l'abonnement et de l'autorisation pubsub.topics.attachSubscription sur le sujet.
Propriétés des abonnements pull
Les abonnements pull sont compatibles avec toutes les propriétés d'abonnement courantes. Ils sont également compatibles avec la propriété Diffusion de type "exactement une fois", décrite dans la section suivante.
Diffusion de type "exactement une fois"
Diffusion de type "exactement une fois". Si cette option est définie, Pub/Sub respecte les garanties de diffusion de type exactement une fois. Si elle n'est pas spécifiée, l'abonnement est compatible avec la diffusion de type au moins une fois pour chaque message.
Créer un abonnement pull
Les exemples suivants montrent comment créer un abonnement avec une distribution pull à l'aide des paramètres par défaut fournis.
Console
Pour créer un abonnement pull, procédez comme suit :
Dans la Google Cloud console, 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 la section 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.
- Conservez le Type de distribution sur Pull.
- 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 Google Cloud console, 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 la section Consignes de dénomination d'un sujet ou d'un abonnement.
- Conservez le Type de distribution sur Pull.
- Conservez toutes les autres valeurs par défaut.
- Cliquez sur Créer.
gcloud
-
Dans la Google Cloud console, activez Cloud Shell.
En bas de la fenêtre de la console, une session Cloud Shell démarre et affiche une invite de ligne de commande. Google Cloud 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 créer un abonnement pull, exécutez la
gcloud pubsub subscriptions createcommande.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
projects.subscriptions.create méthode :
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
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ù :
- PROJECT_ID est l'ID de votre projet.
- SUBSCRIPTION_ID est l'ID de votre abonnement.
- TOPIC_ID est l'ID de votre sujet.
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 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.
PHP
Avant d'essayer cet exemple, suivez les instructions d'installation dans le langage PHP 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 PHP.
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.
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 leur description, consultez la documentation de surveillance pour Pub/Sub.
Vous pouvez également surveiller les abonnements depuis Pub/Sub.
Étape suivante
- Recevoir des messages à partir d'un abonnement pull.
- Créer ou modifier un abonnement avec
gcloudcommandes. - Créer ou modifier un abonnement avec des API REST.