Publier et recevoir des messages dans Pub/Sub à l'aide d'une bibliothèque cliente
- Un producteur de données publie un message dans un sujet Pub/Sub.
- Un client abonné crée un abonnement associé à ce sujet et utilise les messages de l'abonnement.
Vous pouvez configurer un environnement Pub/Sub à l'aide de l'une des méthodes suivantes : console Google Cloud , Cloud Shell, bibliothèques clientes ou API REST. Sur cette page, nous vous expliquons comment faire vos premiers pas avec Pub/Sub pour publier des messages à l'aide de bibliothèques clientes.
Pub/Sub propose une bibliothèque cliente de haut et de bas niveau générée automatiquement. Par défaut, comme dans ce guide de démarrage rapide, nous recommandons la bibliothèque cliente de haut niveau.
Pour obtenir des instructions détaillées sur cette tâche directement dans la console Google Cloud , cliquez sur Visite guidée :
Avant de commencer
- Connectez-vous à votre compte Google Cloud . Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $de crédits sans frais pour exécuter, tester et déployer des charges de travail.
-
Installez la Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init -
Créez ou sélectionnez un projet Google Cloud .
Rôles requis pour sélectionner ou créer un projet
- Sélectionnez un projet : la sélection d'un projet ne nécessite pas de rôle IAM spécifique. Vous pouvez sélectionner n'importe quel projet pour lequel un rôle vous a été attribué.
-
Créer un projet : pour créer un projet, vous devez disposer du rôle Créateur de projet (
roles/resourcemanager.projectCreator), qui contient l'autorisationresourcemanager.projects.create. Découvrez comment attribuer des rôles.
-
Créez un projet Google Cloud :
gcloud projects create PROJECT_ID
Remplacez
PROJECT_IDpar le nom du projet Google Cloud que vous créez. -
Sélectionnez le projet Google Cloud que vous avez créé :
gcloud config set project PROJECT_ID
Remplacez
PROJECT_IDpar le nom de votre projet Google Cloud .
-
Vérifiez que la facturation est activée pour votre projet Google Cloud .
Activer l'API Pub/Sub :
Rôles requis pour activer les API
Pour activer les API, vous avez besoin du rôle IAM Administrateur Service Usage (
roles/serviceusage.serviceUsageAdmin), qui contient l'autorisationserviceusage.services.enable. Découvrez comment attribuer des rôles.gcloud services enable pubsub.googleapis.com
-
Créez des identifiants d'authentification locaux pour votre compte utilisateur :
gcloud auth application-default login
Si une erreur d'authentification est renvoyée et que vous utilisez un fournisseur d'identité (IdP) externe, vérifiez que vous vous êtes connecté à la gcloud CLI avec votre identité fédérée.
-
Attribuez des rôles à votre compte utilisateur. Exécutez la commande suivante une fois pour chacun des rôles IAM suivants :
roles/pubsub.admingcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projetUSER_IDENTIFIER: identifiant de votre compte d'utilisateur. Par exemple,myemail@example.com.ROLE: rôle IAM que vous accordez à votre compte utilisateur.
-
Installez la Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init -
Créez ou sélectionnez un projet Google Cloud .
Rôles requis pour sélectionner ou créer un projet
- Sélectionnez un projet : la sélection d'un projet ne nécessite pas de rôle IAM spécifique. Vous pouvez sélectionner n'importe quel projet pour lequel un rôle vous a été attribué.
-
Créer un projet : pour créer un projet, vous devez disposer du rôle Créateur de projet (
roles/resourcemanager.projectCreator), qui contient l'autorisationresourcemanager.projects.create. Découvrez comment attribuer des rôles.
-
Créez un projet Google Cloud :
gcloud projects create PROJECT_ID
Remplacez
PROJECT_IDpar le nom du projet Google Cloud que vous créez. -
Sélectionnez le projet Google Cloud que vous avez créé :
gcloud config set project PROJECT_ID
Remplacez
PROJECT_IDpar le nom de votre projet Google Cloud .
-
Vérifiez que la facturation est activée pour votre projet Google Cloud .
Activer l'API Pub/Sub :
Rôles requis pour activer les API
Pour activer les API, vous avez besoin du rôle IAM Administrateur Service Usage (
roles/serviceusage.serviceUsageAdmin), qui contient l'autorisationserviceusage.services.enable. Découvrez comment attribuer des rôles.gcloud services enable pubsub.googleapis.com
-
Créez des identifiants d'authentification locaux pour votre compte utilisateur :
gcloud auth application-default login
Si une erreur d'authentification est renvoyée et que vous utilisez un fournisseur d'identité (IdP) externe, vérifiez que vous vous êtes connecté à la gcloud CLI avec votre identité fédérée.
-
Attribuez des rôles à votre compte utilisateur. Exécutez la commande suivante une fois pour chacun des rôles IAM suivants :
roles/pubsub.admingcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projetUSER_IDENTIFIER: identifiant de votre compte d'utilisateur. Par exemple,myemail@example.com.ROLE: rôle IAM que vous accordez à votre compte utilisateur.
Installer les bibliothèques clientes
Les exemples suivants vous montrent comment installer les bibliothèques clientes :
Python
Pour en savoir plus sur la configuration de votre environnement de développement Python, consultez le guide de configuration d'un environnement de développement Python.
# ensure that you are using virtualenv
# as described in the python dev setup guide
pip install --upgrade google-cloud-pubsub
C++
Pour en savoir plus sur l'installation de la bibliothèque C++, consultez la page GitHub README.
C#
Install-Package Google.Cloud.PubSub.V1 -Pre
Go
go get cloud.google.com/go/pubsub
Java
Si vous utilisez Maven, ajoutez les lignes suivantes à votre fichier pom.xml. Pour en savoir plus sur les BOM, consultez la page The Google Cloud Platform Libraries BOM (BOM des bibliothèques Google Cloud Platform).
Si vous utilisez Gradle, ajoutez les éléments suivants à vos dépendances :
Si vous utilisez sbt, ajoutez les éléments suivants à vos dépendances :
Si vous utilisez Visual Studio Code ou IntelliJ, vous pouvez ajouter des bibliothèques clientes à votre projet à l'aide des plug-ins IDE suivants :
Les plug-ins offrent des fonctionnalités supplémentaires, telles que la gestion des clés pour les comptes de service. Reportez-vous à la documentation de chaque plug-in pour plus de détails.
Node.js
npm install @google-cloud/pubsub
PHP
composer require google/cloud-pubsub
Ruby
gem install google-cloud-pubsub
Créer un sujet et un abonnement
Après avoir créé un sujet, vous pouvez vous y abonner ou y publier des messages.
Exécutez la commande gcloud pubsub topics create suivante pour créer un sujet nommé my-topic. Ne modifiez pas le nom du sujet, car il est référencé dans le reste du tutoriel.
gcloud pubsub topics create my-topic
Exécutez la commande gcloud pubsub subscriptions
create pour créer un abonnement. Seuls les messages publiés dans le sujet après la création de l'abonnement sont disponibles pour les applications d'abonnés.
gcloud pubsub subscriptions create my-sub --topic my-topic
Publier des messages
Avant d'exécuter les exemples suivants, assurez-vous de décommenter et de renseigner toutes les valeurs requises qui sont indiquées dans le code. Cette étape est nécessaire pour associer l'exemple à votre projet et aux ressources Pub/Sub que vous avez créées précédemment.
Utilisez my-topic pour l'ID de votre sujet.
Python
C++
C#
Go
Java
Node.js
Node.js
PHP
Ruby
Recevoir des messages
Configurez un abonné pour extraire les messages que vous venez de publier. Les abonnés doivent accuser réception de chaque message pendant une période configurable. Les messages non confirmés seront à nouveau distribués. Notez que Pub/Sub distribue parfois un message plusieurs fois pour garantir que tous les messages parviennent à un abonné au moins une fois.
Avant d'exécuter les exemples suivants, assurez-vous de décommenter et de renseigner toutes les valeurs requises qui sont indiquées dans le code. Cette étape est nécessaire pour associer l'exemple à votre projet et aux ressources Pub/Sub que vous avez créées précédemment.
Utilisez my-sub pour l'ID de votre abonnement.
Pour obtenir d'autres exemples montrant comment extraire des messages, consultez la section Exemples de code de la bibliothèque cliente.
Python
C++
C#
Go
Java
Node.js
PHP
Ruby
Comment ça s'est passé ?
Effectuer un nettoyage (facultatif)
- Pour éviter que les ressources utilisées dans ce guide soient facturées sur votre compte Google Cloud , vous pouvez supprimer le sujet et l'abonnement à l'aide de la ligne de commande.
gcloud pubsub subscriptions delete my-sub gcloud pubsub topics delete my-topic
-
Facultatif : Révoquez les identifiants d'authentification que vous avez créés et supprimez le fichier d'identifiants local.
gcloud auth application-default revoke
-
Facultatif : Révoquez les identifiants de la CLI gcloud.
gcloud auth revoke
Étapes suivantes
En savoir plus sur les concepts Pub/Sub abordés dans cette page
Découvrez les principes de base du service Pub/Sub.
Découvrez comment créer un système Pub/Sub un à plusieurs, qui crée une application d'éditeur qui publie sur deux applications d'abonné distinctes.
Essayez un autre guide de démarrage rapide de Pub/Sub qui utilise la gcloud CLI ou la console.
Choisissez ou créez un abonnement.
En savoir plus sur les API Pub/Sub.
Découvrez comment exécuter Pub/Sub à l'aide de Kotlin.