Accédez à plus de 700 ateliers et cours

Traitement des flux de données : Publier des flux de données dans Pub/Sub

Atelier 2 heures universal_currency_alt 5 crédits show_chart Débutant
info Cet atelier peut intégrer des outils d'IA pour vous accompagner dans votre apprentissage.
Accédez à plus de 700 ateliers et cours

Présentation

Google Cloud Pub/Sub est un service de messagerie en temps réel entièrement géré qui vous permet d'envoyer et de recevoir des messages entre différentes applications. Utilisez Cloud Pub/Sub pour publier des données et vous y abonner à partir de différentes sources, puis utilisez Google Cloud Dataflow pour mieux comprendre vos données, le tout en temps réel.

Dans cet atelier, vous allez simuler les données de capteurs de trafic dans un sujet Pub/Sub. Celles-ci seront ensuite traitées par un pipeline Dataflow, avant de terminer dans une table BigQuery pour une analyse plus approfondie.

Remarque : Au moment de la rédaction de ce document, les pipelines de traitement par flux ne sont pas disponibles dans le SDK Dataflow pour Python. Les ateliers liés aux flux de données sont donc rédigés en Java.

Objectifs

Dans cet atelier, vous allez effectuer les tâches suivantes :

  • Créer un sujet et un abonnement Pub/Sub
  • Simuler les données de capteurs de trafic dans Pub/Sub

Préparation

Pour chaque atelier, nous vous attribuons un nouveau projet Google Cloud et un nouvel ensemble de ressources pour une durée déterminée, sans frais.

  1. Connectez-vous à Qwiklabs dans une fenêtre de navigation privée.

  2. Vérifiez le temps imparti pour l'atelier (par exemple : 01:15:00) : vous devez pouvoir le terminer dans ce délai.
    Une fois l'atelier lancé, vous ne pouvez pas le mettre en pause. Si nécessaire, vous pourrez le redémarrer, mais vous devrez tout reprendre depuis le début.

  3. Lorsque vous êtes prêt, cliquez sur Démarrer l'atelier.

  4. Notez vos identifiants pour l'atelier (Nom d'utilisateur et Mot de passe). Ils vous serviront à vous connecter à Google Cloud Console.

  5. Cliquez sur Ouvrir la console Google.

  6. Cliquez sur Utiliser un autre compte, puis copiez-collez les identifiants de cet atelier lorsque vous y êtes invité.
    Si vous utilisez d'autres identifiants, des messages d'erreur s'afficheront ou des frais seront appliqués.

  7. Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.

Tâche 1 : Préparation

Vous allez exécuter un simulateur de capteurs depuis la VM d'entraînement. Pour cela, vous allez devoir configurer l'environnement et rassembler différents fichiers.

Ouvrir le terminal SSH et se connecter à la VM d'entraînement

  1. Dans la console, accédez au menu de navigation (Icône du menu de navigation), puis cliquez sur Compute Engine > Instances de VM.
  2. Repérez la ligne comportant l'instance nommée training-vm.
  3. Tout à droite de la page, sous Connecter, cliquez sur SSH pour ouvrir une fenêtre de terminal.
  4. Dans cet atelier, vous allez saisir les commandes CLI dans l'instance training_vm.

Vérifier que l'initialisation est terminée

  • L'instance training-vm installe des logiciels en arrière-plan. Pour vérifier si la configuration est terminée, examinez le contenu du nouveau répertoire :
ls /training

La configuration est terminée lorsque votre commande de liste ("ls") génère le résultat suivant. Si la liste complète ne s'affiche pas, attendez quelques minutes, puis réessayez. Remarque : L'exécution de l'ensemble des actions en arrière-plan peut prendre deux à trois minutes.

Résultat de la commande ls

Télécharger le dépôt de code

  • Vous allez maintenant télécharger le dépôt de code que vous utiliserez dans cet atelier :
git clone https://github.com/GoogleCloudPlatform/training-data-analyst

Identifier un projet

Vous allez définir la variable d'environnement $DEVSHELL_PROJECT_ID. Celle-ci contient l'ID de projet Google Cloud dont vous avez besoin pour accéder aux ressources facturables.

  1. Dans la console, accédez au menu de navigation (Icône du menu de navigation), puis cliquez sur Accueil. L'ID du projet s'affiche dans le panneau contenant les informations du projet. Vous pouvez aussi trouver ces informations dans l'onglet "Qwiklabs", à la section "Détails de connexion", où elles s'affichent en tant que ID du projet GCP.
  2. Dans le terminal SSH de l'instance training-vm, définissez la variable d'environnement DEVSHELL_PROJECT_ID et exportez-la pour la mettre à la disposition des autres shells. La commande suivante obtient l'ID du projet actif à partir de l'environnement Google Cloud :
export DEVSHELL_PROJECT_ID=$(gcloud config get-value project)

Tâche 2 : Créer un sujet et un abonnement Pub/Sub

  1. Dans le terminal SSH de l'instance training-vm, accédez au répertoire de cet atelier :
cd ~/training-data-analyst/courses/streaming/publish

Utilisez la commande gcloud pour vérifier que le service Pub/Sub est accessible et fonctionnel.

  1. Créez votre sujet et publiez un message simple :
gcloud pubsub topics create sandiego
  1. Publiez un message simple :
gcloud pubsub topics publish sandiego --message "hello"
  1. Créez un abonnement pour le sujet :
gcloud pubsub subscriptions create --topic sandiego mySub1
  1. Récupérez le premier message publié sur votre sujet :
gcloud pubsub subscriptions pull --auto-ack mySub1

Voyez-vous un résultat ? Si non, pourquoi ?

  1. Essayez de publier un autre message, puis récupérez-le à l'aide de l'abonnement :
gcloud pubsub topics publish sandiego --message "hello again" gcloud pubsub subscriptions pull --auto-ack mySub1

Avez-vous obtenu une réponse cette fois-ci ?

Résultat :

Données : Hello, ID du message : 38138015771622, Attributs : (vide)

Cliquez sur Vérifier ma progression pour valider l'objectif. Créer un sujet et un abonnement Pub/Sub

  1. Dans le terminal SSH de l'instance training-vm, annulez votre abonnement :
gcloud pubsub subscriptions delete mySub1

Tâche 3 : Simuler les données de capteurs de trafic dans Pub/Sub

  1. Explorez le script Python permettant de simuler les données de capteurs de trafic de San Diego. Ne modifiez pas le code.
cd ~/training-data-analyst/courses/streaming/publish nano send_sensor_data.py

Examinez la fonction de simulation. Elle permet au script de se comporter comme si les capteurs de trafic envoyaient des données en temps réel à Pub/Sub. Le paramètre "speedFactor" détermine la vitesse de la simulation. Quittez le fichier en appuyant sur Ctrl+X.

  1. Téléchargez l'ensemble de données issues de la simulation du trafic :
./download_data.sh

Simuler les flux de données de capteurs

  1. Exécutez le fichier send_sensor_data.py :
./send_sensor_data.py --speedFactor=60 --project $DEVSHELL_PROJECT_ID

Cette commande simule des données de capteurs en envoyant des données de capteurs enregistrées par le biais de messages Pub/Sub. Le script extrait l'heure d'origine des données de capteurs et marque une pause avant d'envoyer chaque message pour permettre une simulation réaliste. La valeur speedFactor modifie proportionnellement la durée qui s'écoule entre deux messages. Ainsi, une valeur speedFactor de 60 signifie "60 fois plus rapide" que la durée enregistrée. L'équivalent d'une heure de données est alors envoyé toutes les 60 secondes.

Ne fermez pas ce terminal et n'arrêtez pas le simulateur.

Tâche 4 : Vérifier que les messages arrivent à destination

Ouvrir un deuxième terminal SSH et se connecter à la VM d'entraînement

  1. Dans la console, accédez au menu de navigation (Icône du menu de navigation), puis cliquez sur Compute Engine > Instances de VM.
  2. Repérez la ligne comportant l'instance nommée training-vm.
  3. Tout à droite de la page, sous Connect (Connecter), cliquez sur SSH pour ouvrir une deuxième fenêtre de terminal.
  4. Accédez au répertoire dans lequel vous étiez en train de travailler :
cd ~/training-data-analyst/courses/streaming/publish
  1. Créez un abonnement pour le sujet et effectuez une récupération pour vérifier que les messages arrivent (remarque : vous devrez peut-être exécuter la commande "pull" plusieurs fois avant de voir les messages) :
gcloud pubsub subscriptions create --topic sandiego mySub2 gcloud pubsub subscriptions pull --auto-ack mySub2
  1. Vérifiez que vous voyez un message contenant des informations de capteurs de trafic.

Résultat

  1. Annulez cet abonnement :
gcloud pubsub subscriptions delete mySub2
  1. Fermez le deuxième terminal :
exit

Arrêter le simulateur de capteurs

  1. Revenez au premier terminal.
  2. Saisissez Ctrl+C pour interrompre l'éditeur.
  3. Fermez le premier terminal :
exit

Terminer l'atelier

Une fois l'atelier terminé, cliquez sur Terminer l'atelier. Google Cloud Skills Boost supprime les ressources que vous avez utilisées, puis efface le compte.

Si vous le souhaitez, vous pouvez noter l'atelier. Sélectionnez un nombre d'étoiles, saisissez un commentaire, puis cliquez sur Envoyer.

Le nombre d'étoiles correspond à votre degré de satisfaction :

  • 1 étoile = très insatisfait(e)
  • 2 étoiles = insatisfait(e)
  • 3 étoiles = ni insatisfait(e), ni satisfait(e)
  • 4 étoiles = satisfait(e)
  • 5 étoiles = très satisfait(e)

Si vous ne souhaitez pas donner votre avis, vous pouvez fermer la boîte de dialogue.

Pour soumettre des commentaires, suggestions ou corrections, veuillez accéder à l'onglet Assistance.

Copyright 2020 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.

Avant de commencer

  1. Les ateliers créent un projet Google Cloud et des ressources pour une durée déterminée.
  2. Les ateliers doivent être effectués dans le délai imparti et ne peuvent pas être mis en pause. Si vous quittez l'atelier, vous devrez le recommencer depuis le début.
  3. En haut à gauche de l'écran, cliquez sur Démarrer l'atelier pour commencer.

Utilisez la navigation privée

  1. Copiez le nom d'utilisateur et le mot de passe fournis pour l'atelier
  2. Cliquez sur Ouvrir la console en navigation privée

Connectez-vous à la console

  1. Connectez-vous à l'aide des identifiants qui vous ont été attribués pour l'atelier. L'utilisation d'autres identifiants peut entraîner des erreurs ou des frais.
  2. Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
  3. Ne cliquez pas sur Terminer l'atelier, à moins que vous n'ayez terminé l'atelier ou que vous ne vouliez le recommencer, car cela effacera votre travail et supprimera le projet.

Ce contenu n'est pas disponible pour le moment

Nous vous préviendrons par e-mail lorsqu'il sera disponible

Parfait !

Nous vous contacterons par e-mail s'il devient disponible

Un atelier à la fois

Confirmez pour mettre fin à tous les ateliers existants et démarrer celui-ci

Utilisez la navigation privée pour effectuer l'atelier

Ouvrez une fenêtre de navigateur en mode navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.