arrow_back

Google Cloud Pub/Sub : Qwik Start – Python

Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Google Cloud Pub/Sub : Qwik Start – Python

Lab 30 minutes universal_currency_alt 1 crédit show_chart Débutant
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP094

Google Cloud – Ateliers adaptés au rythme de chacun

Présentation

Le service Google Cloud Pub/Sub permet aux applications d'échanger des messages rapidement, de manière fiable et asynchrone. À cette fin, un fournisseur de données publie des messages dans un sujet Cloud Pub/Sub. Un client abonné crée ensuite un abonnement associé à ce sujet et utilise les messages de l'abonnement. Cloud Pub/Sub conserve les messages qui n'ont pas pu être distribués de manière fiable pendant sept jours au maximum.

Dans cet atelier, vous allez apprendre à publier des messages avec Cloud Pub/Sub à l'aide de la bibliothèque cliente Python.

Objectifs de l'atelier

Dans cet atelier, vous allez effectuer les opérations suivantes :

  • Découvrir les principes de base de Pub/Sub
  • Créer et répertorier un sujet Pub/Sub
  • Créer et répertorier un abonnement Pub/Sub
  • Publier des messages dans un sujet
  • Utiliser un abonnement pull afin de consulter des messages de sujets spécifiques

Prérequis

Avant de cliquer sur le bouton "Démarrer l'atelier"

Lisez ces instructions. Les ateliers sont minutés, et vous ne pouvez pas les mettre en pause. Le minuteur, qui démarre lorsque vous cliquez sur Démarrer l'atelier, indique combien de temps les ressources Google Cloud resteront accessibles.

Cet atelier pratique vous permet de suivre vous-même les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Nous vous fournissons des identifiants temporaires pour vous connecter à Google Cloud le temps de l'atelier.

Pour réaliser cet atelier :

  • vous devez avoir accès à un navigateur Internet standard (nous vous recommandons d'utiliser Chrome) ;
Remarque : Ouvrez une fenêtre de navigateur en mode incognito/navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le temporaire étudiant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
  • vous disposez d'un temps limité ; une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Remarque : Si vous possédez déjà votre propre compte ou projet Google Cloud, veillez à ne pas l'utiliser pour réaliser cet atelier afin d'éviter que des frais supplémentaires ne vous soient facturés.

Démarrer l'atelier et se connecter à la console Google Cloud

  1. Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, un pop-up s'affiche pour vous permettre de sélectionner un mode de paiement. Sur la gauche, vous trouverez le panneau Détails concernant l'atelier, qui contient les éléments suivants :

    • Le bouton Ouvrir la console Google
    • Le temps restant
    • Les identifiants temporaires que vous devez utiliser pour cet atelier
    • Des informations complémentaires vous permettant d'effectuer l'atelier
  2. Cliquez sur Ouvrir la console Google. L'atelier lance les ressources, puis ouvre la page Se connecter dans un nouvel onglet.

    Conseil : Réorganisez les onglets dans des fenêtres distinctes, placées côte à côte.

    Remarque : Si la boîte de dialogue Sélectionner un compte s'affiche, cliquez sur Utiliser un autre compte.
  3. Si nécessaire, copiez le nom d'utilisateur inclus dans le panneau Détails concernant l'atelier et collez-le dans la boîte de dialogue Se connecter. Cliquez sur Suivant.

  4. Copiez le mot de passe inclus dans le panneau Détails concernant l'atelier et collez-le dans la boîte de dialogue de bienvenue. Cliquez sur Suivant.

    Important : Vous devez utiliser les identifiants fournis dans le panneau de gauche. Ne saisissez pas vos identifiants Google Cloud Skills Boost. Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires peuvent vous être facturés.
  5. Accédez aux pages suivantes :

    • Acceptez les conditions d'utilisation.
    • N'ajoutez pas d'options de récupération ni d'authentification à deux facteurs (ce compte est temporaire).
    • Ne vous inscrivez pas aux essais offerts.

Après quelques instants, la console Cloud s'ouvre dans cet onglet.

Remarque : Vous pouvez afficher le menu qui contient la liste des produits et services Google Cloud en cliquant sur le menu de navigation en haut à gauche. Icône du menu de navigation

Activer Cloud Shell

Cloud Shell est une machine virtuelle qui contient de nombreux outils pour les développeurs. Elle comprend un répertoire d'accueil persistant de 5 Go et s'exécute sur Google Cloud. Cloud Shell vous permet d'accéder via une ligne de commande à vos ressources Google Cloud.

  1. Cliquez sur Activer Cloud Shell Icône Activer Cloud Shell en haut de la console Google Cloud.

Une fois connecté, vous êtes en principe authentifié et le projet est défini sur votre ID_PROJET. Le résultat contient une ligne qui déclare YOUR_PROJECT_ID (VOTRE_ID_PROJET) pour cette session :

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

gcloud est l'outil de ligne de commande pour Google Cloud. Il est préinstallé sur Cloud Shell et permet la complétion par tabulation.

  1. (Facultatif) Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
gcloud auth list
  1. Cliquez sur Autoriser.

  2. Vous devez à présent obtenir le résultat suivant :

Résultat :

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (Facultatif) Vous pouvez lister les ID de projet à l'aide de cette commande :
gcloud config list project

Résultat :

[core] project = <ID_Projet>

Exemple de résultat :

[core] project = qwiklabs-gcp-44776a13dea667a6 Remarque : Pour consulter la documentation complète sur gcloud, dans Google Cloud, accédez au guide de présentation de la gcloud CLI.

Tâche 1 : Créer un environnement virtuel

Les environnements virtuels Python permettent d'isoler l'installation d'un package du système.

  1. Installez l'environnement virtualenv :
sudo apt-get install -y virtualenv
  1. Créez l'environnement virtuel :
python3 -m venv venv
  1. Activez l'environnement virtuel.
source venv/bin/activate

Tâche 2 : Installer la bibliothèque cliente

  1. Exécutez la commande suivante pour installer la bibliothèque cliente :
pip install --upgrade google-cloud-pubsub
  1. Récupérez l'exemple de code en clonant le dépôt GitHub :
git clone https://github.com/googleapis/python-pubsub.git
  1. Accédez au répertoire :
cd python-pubsub/samples/snippets

Tâche 3 : Maîtriser les principes de base de Pub/Sub

Google Cloud Pub/Sub est un service de messagerie asynchrone à l'échelle mondiale. Avec Pub/Sub, trois termes reviennent souvent : sujets, publication et abonnement.

Un sujet est une chaîne partagée qui permet aux applications de communiquer entre elles via un fil de discussion commun.

Les éditeurs transfèrent (ou publient) un message dans un sujet Cloud Pub/Sub. Les abonnés souscrivent ensuite un abonnement à ce fil de discussion pour récupérer les messages à partir du sujet ou configurer des webhooks et recevoir directement les messages de l'abonnement. Les abonnés doivent accuser réception de chaque message pendant une période configurable.

Pour résumer, un éditeur crée et envoie des messages dans un sujet. Un abonné crée un abonnement associé à un sujet pour recevoir des messages de celui-ci.

Pub/Sub dans Google Cloud

Pub/Sub est préinstallé dans Cloud Shell, aucune installation ou configuration n'est donc nécessaire pour commencer à utiliser ce service. Dans cet atelier, vous allez utiliser un script Python pour créer le sujet et l'abonnement, puis afficher le message. Pour publier le message dans le sujet, vous utiliserez une commande gcloud.

Tâche 4 : Créer un sujet

Pour publier des données dans Cloud Pub/Sub, vous devez créer un sujet, puis lui associer un éditeur.

  1. Dans Cloud Shell, la variable d'environnement GOOGLE_CLOUD_PROJECT devrait automatiquement stocker votre ID de projet :
echo $GOOGLE_CLOUD_PROJECT
  1. Assurez-vous que la valeur de sortie correspond à l'ID de projet figurant dans vos DÉTAILS DE CONNEXION.

Le script publisher.py montre comment réaliser des opérations de base sur des sujets avec l'API Cloud Pub/Sub. Pour afficher le contenu du script de l'éditeur, saisissez la commande suivante :

cat publisher.py Remarque : Vous pouvez également utiliser les éditeurs de script shell installés sur Cloud Shell (tels que "nano" ou "vim") ou l'éditeur de code intégré de Cloud Shell pour afficher le fichier python-pubsub/samples/snippets/publisher.py.
  1. Pour obtenir plus d'informations sur le script de l'éditeur, saisissez la commande suivante :
python publisher.py -h

Exemple de résultat :

usage: publisher.py [-h] project {list,create,delete,publish,publish-with-custom-attributes,publish-with-futures,publish-with-error-handler,publish-with-batch-settings} ... This application demonstrates how to perform basic operations on topics with the Cloud Pub/Sub API. For more information, see the README.md under /pubsub and the documentation at https://cloud.google.com/pubsub/docs. positional arguments: project Your Google Cloud project ID {list,create,delete,publish,publish-with-custom-attributes,publish-with-futures,publish-with-error-handler,publish-with-batch-settings} list Lists all Pub/Sub topics in the given project. create Create a new Pub/Sub topic. delete Deletes an existing Pub/Sub topic. publish Publishes multiple messages to a Pub/Sub topic. publish-with-custom-attributes Publishes multiple messages with custom attributes to a Pub/Sub topic. publish-with-futures Publishes multiple messages to a Pub/Sub topic and prints their message IDs. publish-with-error-handler Publishes multiple messages to a Pub/Sub topic with an error handler. publish-with-batch-settings Publishes multiple messages to a Pub/Sub topic with batch settings. optional arguments: -h, --help show this help message and exit
  1. Exécutez le script de l'éditeur pour créer le sujet Pub/Sub :
python publisher.py $GOOGLE_CLOUD_PROJECT create MyTopic

Exemple de résultat :

Topic created: name: "projects/qwiklabs-gcp-fe27729bc161fb22/topics/MyTopic"

Tester la tâche terminée

Cliquez sur Vérifier ma progression pour valider la tâche exécutée. Si le sujet Cloud Pub/Sub a été créé correctement, vous recevrez une note d'évaluation.

Créer un sujet
  1. Cette commande renvoie la liste de tous les sujets Pub/Sub associés à un projet donné :
python publisher.py $GOOGLE_CLOUD_PROJECT list

Exemple de résultat :

name: "projects/qwiklabs-gcp-fe27729bc161fb22/topics/MyTopic"

Vous pouvez également consulter le sujet que vous venez de créer dans la console Cloud.

  1. Accédez au menu de navigation > Pub/Sub > Sujets.

Le sujet MyTopic doit s'afficher.

Tâche 5 : Créer un abonnement

  1. Créez un abonnement Pub/Sub pour le sujet avec le script subscriber.py :
python subscriber.py $GOOGLE_CLOUD_PROJECT create MyTopic MySub

Tester la tâche terminée

Cliquez sur Vérifier ma progression pour valider la tâche exécutée. Si l'abonnement Cloud Pub/Sub a été créé correctement, vous recevez une note d'évaluation.

Créer un abonnement
  1. Cette commande renvoie la liste des abonnés à un projet donné :
python subscriber.py $GOOGLE_CLOUD_PROJECT list-in-project

Un seul abonnement est disponible, car vous n'en avez créé qu'un.

Exemple de résultat :

projects/qwiklabs-gcp-7877af129f04d8b3/subscriptions/MySub
  1. Vérifiez que l'abonnement que vous venez de créer s'affiche dans la console. Dans le volet de gauche, cliquez sur Abonnements. Le nom de l'abonnement et d'autres informations doivent être disponibles.

  2. Pour en savoir plus sur le script subscriber, saisissez la commande suivante :

python subscriber.py -h

Résultat :

usage: subscriber.py [-h] project {list_in_topic,list_in_project,create,create-push,delete,update,receive,receive-custom-attributes,receive-flow-control,receive-synchronously,listen_for_errors} ... This application demonstrates how to perform basic operations on subscriptions with the Cloud Pub/Sub API. For more information, see the README.md under /pubsub and the documentation at https://cloud.google.com/pubsub/docs. positional arguments: project Your Google Cloud project ID {list_in_topic,list_in_project,create,create-push,delete,update,receive,receive-custom-attributes,receive-flow-control,receive-synchronously,listen_for_errors} list_in_topic Lists all subscriptions for a given topic. list_in_project Lists all subscriptions in the current project. create Create a new pull subscription on the given topic. create-push Create a new push subscription on the given topic. delete Deletes an existing Pub/Sub topic. update Updates an existing Pub/Sub subscription's push endpoint URL. Note that certain properties of a subscription, such as its topic, are not modifiable. receive Receives messages from a pull subscription. receive-custom-attributes Receives messages from a pull subscription. receive-flow-control Receives messages from a pull subscription with flow control. receive-synchronously Pulling messages synchronously. listen_for_errors Receives messages and catches errors from a pull subscription. optional arguments: -h, --help show this help message and exit

Tâche 6 : Publier des messages

Maintenant que vous avez configuré MyTopic (le sujet), un abonnement à MyTopic (MySub), essayez de publier un message dans MyTopic à l'aide des commandes gcloud.

  1. Publiez le message "Hello" dans MyTopic :
gcloud pubsub topics publish MyTopic --message "Hello"
  1. Publiez un ou deux autres messages dans MyTopic en exécutant les commandes suivantes (remplacez <YOUR NAME> par votre nom, et <FOOD> par un plat que vous aimez) :
gcloud pubsub topics publish MyTopic --message "Publisher's name is <YOUR NAME>" gcloud pubsub topics publish MyTopic --message "Publisher likes to eat <FOOD>" gcloud pubsub topics publish MyTopic --message "Publisher thinks Pub/Sub is awesome"

Tâche 7 : Consulter les messages

Maintenant que vous avez publié des messages dans le sujet MyTopic, extrayez-les et consultez-les avec MySub.

  1. Utilisez MySub pour extraire un message du sujet MyTopic :
python subscriber.py $GOOGLE_CLOUD_PROJECT receive MySub

Exemple de résultat :

Listening for messages on projects/qwiklabs-gcp-7877af129f04d8b3/subscriptions/MySub Received message: Message { data: 'Publisher thinks Pub/Sub is awesome' attributes: {} } Received message: Message { data: 'Hello' attributes: {} } Received message: Message { data: "Publisher's name is Harry" attributes: {} } Received message: Message { data: 'Publisher likes to eat cheese' attributes: {} }
  1. Appuyez sur les touches Ctrl+C pour arrêter l'exécution de la commande.

Tâche 8 : Tester vos connaissances

Voici quelques questions à choix multiples qui vous permettront de mieux maîtriser les concepts abordés lors de cet atelier. Répondez-y du mieux que vous le pouvez.

Félicitations !

Vous avez utilisé Python pour créer un sujet Pub/Sub, publier un message sur le sujet et créer un abonnement. Ensuite, vous vous êtes servi de cet abonnement pour récupérer des données à partir du sujet.

Terminer votre quête

Cet atelier d'auto-formation fait partie de la quête Baseline: Infrastructure. Une quête est une série d'ateliers associés qui constituent un parcours de formation. Si vous terminez cette quête, vous obtenez un badge attestant de votre réussite. Vous pouvez rendre publics les badges que vous recevez et ajouter leur lien dans votre CV en ligne ou sur vos comptes de réseaux sociaux. Inscrivez-vous à cette quête ou à une autre quête contenant cet atelier pour obtenir immédiatement les crédits associés. Découvrez toutes les quêtes disponibles dans le catalogue Google Cloud Skills Boost.

Atelier suivant

Pub/Sub Lite : Qwik Start. Pub/Sub Lite est un service zonal proposé en complément de Pub/Sub pour les systèmes de messagerie avec des modèles de trafic prévisibles. Si vous publiez entre 1 Mio et 1 Gio de messages par seconde, cette solution vous permet d'ingérer un volume d'événements élevé à moindre coût.

Étapes suivantes et informations supplémentaires

Cet atelier fait partie d'une série appelée "Qwik Starts". Les ateliers de cette série sont conçus pour vous présenter brièvement les nombreuses fonctionnalités proposées par Google Cloud. Pour suivre un autre atelier, recherchez "Qwik Starts" dans le catalogue Google Cloud Skills Boost.

Formations et certifications Google Cloud

Les formations et certifications Google Cloud vous aident à tirer pleinement parti des technologies Google Cloud. Nos cours portent sur les compétences techniques et les bonnes pratiques à suivre pour être rapidement opérationnel et poursuivre votre apprentissage. Nous proposons des formations pour tous les niveaux, à la demande, en salle et à distance, pour nous adapter aux emplois du temps de chacun. Les certifications vous permettent de valider et de démontrer vos compétences et votre expérience en matière de technologies Google Cloud.

Dernière mise à jour du manuel : 22 septembre 2023

Dernier test de l'atelier : 22 septembre 2022

Copyright 2024 Google LLC Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms d'entreprises et de produits peuvent être des marques des entreprises auxquelles ils sont associés.