Publier et recevoir des messages dans Pub/Sub à l'aide d'une bibliothèque cliente
Le service Pub/Sub permet aux applications d'échanger des messages de manière fiable, rapide et asynchrone. Voici la séquence d'événements:
- 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 en utilisant l'une des méthodes suivantes: console Google Cloud, Cloud Shell, bibliothèques clientes ou API REST. Cette page explique comment commencer à publier des messages avec Pub/Sub à l'aide de bibliothèques clientes.
Pub/Sub propose une bibliothèque cliente de haut niveau et une bibliothèque cliente générée automatiquement de bas niveau. 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 gratuits pour exécuter, tester et déployer des charges de travail.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Vérifiez que la facturation est activée pour votre projet Google Cloud.
-
Activer Pub/Sub API :
gcloud services enable pubsub.googleapis.com
-
Create local authentication credentials for your user account:
gcloud auth application-default login
-
Attribuez des rôles à votre compte Google. Exécutez la commande suivante une fois pour chacun des rôles IAM suivants :
roles/pubsub.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
- en remplaçant
PROJECT_ID
par l'ID de votre projet : - Remplacez
EMAIL_ADDRESS
par votre adresse e-mail. - Remplacez
ROLE
par chaque rôle individuel.
- en remplaçant
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Vérifiez que la facturation est activée pour votre projet Google Cloud.
-
Activer Pub/Sub API :
gcloud services enable pubsub.googleapis.com
-
Create local authentication credentials for your user account:
gcloud auth application-default login
-
Attribuez des rôles à votre compte Google. Exécutez la commande suivante une fois pour chacun des rôles IAM suivants :
roles/pubsub.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
- en remplaçant
PROJECT_ID
par l'ID de votre projet : - Remplacez
EMAIL_ADDRESS
par votre adresse e-mail. - Remplacez
ROLE
par chaque rôle individuel.
- en remplaçant
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 GitHub README
.
C#
Install-Package Google.Cloud.PubSub.V1 -Pre
Go
go get cloud.google.com/go/pubsub
Java
If you are using Maven, add
the following to your pom.xml
file. For more information about
BOMs, see The Google Cloud Platform Libraries BOM.
If you are using Gradle, add the following to your dependencies:
If you are using sbt, add the following to your dependencies:
If you're using Visual Studio Code, IntelliJ, or Eclipse, you can add client libraries to your project using the following IDE plugins:
The plugins provide additional functionality, such as key management for service accounts. Refer to each plugin's documentation for details.
Node.js
npm install --save @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 thème, 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 sera référencé tout au long 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
Pour en savoir plus sur l'attribution de nom à vos sujets et à vos abonnements, consultez la section Noms de ressources.
Publier des messages
Avant d'exécuter les exemples suivants, veillez à annuler la mise en commentaire et à renseigner l'une des valeurs requises marquées dans le code. Cette opération 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
comme ID de thème.
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, veillez à annuler la mise en commentaire et à renseigner l'une des valeurs requises marquées dans le code. Cela 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
comme ID d'abonnement.
Pour plus d'exemples montrant comment extraire des messages, consultez Exemples de code pour les bibliothèques clientes.
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
Apprenez-en 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 pour créer une application d'éditeur qui publie dans deux applications d'abonné distinctes.
Essayez un autre guide de démarrage rapide pour 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.