découvrir comment fonctionnent les onglets "Diagnostic" et "Jobs BigQuery" ;
explorer la page "Error Reporting".
Prérequis
Connaître les bases de Python
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.
Connectez-vous à Qwiklabs dans une fenêtre de navigation privée.
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.
Lorsque vous êtes prêt, cliquez sur Démarrer l'atelier.
Notez vos identifiants pour l'atelier (Nom d'utilisateur et Mot de passe). Ils vous serviront à vous connecter à Google Cloud Console.
Cliquez sur Ouvrir la console Google.
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.
Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
Activer Google Cloud Shell
Google 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.
Google Cloud Shell vous permet d'accéder à vos ressources Google Cloud grâce à une ligne de commande.
Dans la barre d'outils située en haut à droite dans la console Cloud, cliquez sur le bouton "Ouvrir Cloud Shell".
Cliquez sur Continuer.
Le provisionnement et la connexion à l'environnement prennent quelques instants. Une fois connecté, vous êtes en principe authentifié et le projet est défini sur votre ID_PROJET. Par exemple :
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.
Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
Vous pouvez lister les ID de projet à l'aide de cette commande :
gcloud config list project
Résultat :
[core]
project =
Exemple de résultat :
[core]
project = qwiklabs-gcp-44776a13dea667a6
Remarque : Pour consulter la documentation complète sur gcloud, accédez au guide de présentation de la gcloud CLI.
Vérifier les autorisations du projet
Avant de commencer à travailler dans Google Cloud, vous devez vous assurer de disposer des autorisations adéquates pour votre projet dans IAM (Identity and Access Management).
Dans la console Google Cloud, accédez au menu de navigation (), puis sélectionnez IAM et administration > IAM.
Vérifiez que le compte de service Compute par défaut {project-number}-compute@developer.gserviceaccount.com existe et qu'il est associé au rôle editor (éditeur). Le préfixe du compte correspond au numéro du projet, disponible sur cette page : Menu de navigation > Présentation du cloud > Tableau de bord.
Remarque : Si le compte n'est pas disponible dans IAM ou n'est pas associé au rôle editor (éditeur), procédez comme suit pour lui attribuer le rôle approprié.
Dans la console Google Cloud, accédez au menu de navigation et cliquez sur Présentation du cloud > Tableau de bord.
Copiez le numéro du projet (par exemple, 729328892908).
Dans le menu de navigation, sélectionnez IAM et administration > IAM.
Sous Afficher par compte principal, en haut de la table des rôles, cliquez sur Accorder l'accès.
Dans le champ Nouveaux comptes principaux, saisissez :
Dans cette section, vous allez créer une règle d'alerte qui se déclenche lorsqu'une condition est remplie.
Dans le champ Recherche de la barre de titre de la console Google Cloud, saisissez Monitoring, cliquez sur Recherche, puis sur Monitoring.
Dans le volet de navigation de gauche, cliquez sur Alertes.
Sur la page "Alertes", cliquez sur + Créer une règle.
Cliquez sur le menu déroulant Sélectionner une métrique et décochez l'option Active.
a. Saisissez Job Dataflow sous "Filtrer par nom de ressource ou de métrique", puis cliquez sur Job Dataflow > Job. Sélectionnez Échec, puis cliquez sur Appliquer.
b. Définissez le champ Fenêtrage glissant sur sum.
c. Cliquez sur Suivant. Indiquez 0 comme valeur du seuil.
Cliquez sur le bouton Suivant pour passer à l'étape Configurer les notifications et finaliser l'alerte.
Dans le formulaire qui s'affiche, cliquez sur le menu déroulant Canaux de notification, puis sur Gérer les canaux de notification.
Une fenêtre s'ouvre, affichant les types de canaux de notification disponibles.
Faites défiler la page jusqu'à la ligne E-mail, puis cliquez sur Ajouter à droite.
a. Dans le champ Adresse-e-mail, saisissez votre adresse e-mail personnelle.
Remarque :
L'adresse e-mail de votre compte participant Qwiklabs ne fonctionnera pas, car il s'agit d'un compte temporaire.
b. Dans le champ Nom à afficher, saisissez Participant Qwiklabs.
c. Cliquez sur Enregistrer. Vous pouvez maintenant fermer cette fenêtre et revenir à la fenêtre Créer une règle d'alerte précédente.
Cliquez sur l'icône "Actualiser" à gauche de Gérer les canaux de notification.
Ensuite, cliquez à nouveau sur le menu déroulant Canaux de notification. Cette fois, vous devriez voir le nom du compte participant que vous venez d'ajouter.
Cochez la case à gauche du nom Participant Qwiklabs et cliquez sur OK.
Saisissez Job Dataflow en échec comme Nom de l'alerte dans la zone de texte.
Cliquez à nouveau sur Suivant.
Examinez l'alerte et cliquez sur Créer une règle.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Créer une règle d'alerte
Tâche 3 : Échec au démarrage du pipeline sur Dataflow
Examinez le code de votre pipeline :
import argparse
import logging
import argparse, logging, os
import apache_beam as beam
from apache_beam.io import WriteToText
from apache_beam.options.pipeline_options import PipelineOptions
class ReadGBK(beam.DoFn):
def process(self, e):
k, elems = e
for v in elems:
logging.info(f"the element is {v}")
yield v
def run(argv=None):
parser = argparse.ArgumentParser()
parser.add_argument(
'--output', dest='output', help='Output file to write results to.')
known_args, pipeline_args = parser.parse_known_args(argv)
read_query = """(
SELECT
version,
block_hash,
block_number
FROM
`bugquery-public-data.crypto_bitcoin.transactions`
WHERE
version = 1
LIMIT
1000000 )
UNION ALL (
SELECT
version,
block_hash,
block_number
FROM
`bigquery-public-data.crypto_bitcoin.transactions`
WHERE
version = 2
LIMIT
1000 ) ;"""
p = beam.Pipeline(options=PipelineOptions(pipeline_args))
(p
| 'Read from BigQuery' >> beam.io.ReadFromBigQuery(query=read_query, use_standard_sql=True)
| "Add Hotkey" >> beam.Map(lambda elem: (elem["version"], elem))
| "Groupby" >> beam.GroupByKey()
| 'Print' >> beam.ParDo(ReadGBK())
| 'Sink' >> WriteToText(known_args.output))
result = p.run()
if __name__ == '__main__':
logger = logging.getLogger().setLevel(logging.INFO)
run()
Dans Cloud Shell, ouvrez un nouveau fichier nommé my_pipeline.py. Copiez le code ci-dessus et collez-le dans ce fichier. Enregistrez-le à l'aide de l'éditeur de texte de votre choix (l'exemple ci-dessous utilise Vim) :
vi my_pipeline.py
Après avoir collé le code, n'oubliez pas d'enregistrer votre fichier.
Exécutez la commande ci-dessous pour créer un bucket de stockage :
Ensuite, vous allez essayer de lancer le pipeline à l'aide de la commande ci-dessous (notez que la commande va échouer) :
# Attempt to launch the pipeline
python3 my_pipeline.py \
--project=${PROJECT_ID} \
--region={{{project_0.default_region | Region}}} \
--tempLocation=gs://$PROJECT_ID/temp/ \
--runner=DataflowRunner
La commande ci-dessus permettant de lancer le pipeline échoue et affiche une trace de pile semblable à celle de la capture d'écran ci-dessous :
Cet échec provient de Beam. Dans le code, nous spécifions WriteToText(known_args.output).
Comme nous n'avons pas fourni l'option --output, le code n'a pas passé la validation Beam et n'a pas pu être lancé dans Dataflow. Comme cette opération n'a pas atteint Dataflow, aucun ID de job n'y est associé. Vous ne devriez donc pas recevoir d'e-mail d'alerte.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Échec au démarrage du pipeline sur Dataflow
Tâche 4 : Table BigQuery invalide
Dans cette section, vous allez essayer de relancer le pipeline en indiquant l'option --output requise. Bien que cela permette de lancer le pipeline Dataflow, le job échouera au bout de quelques minutes, car nous avons intentionnellement ajouté une table BigQuery invalide. Cela devrait déclencher la règle d'alerte et entraîner l'envoi d'un e-mail d'alerte.
Dans le terminal, exécutez la commande suivante pour lancer le pipeline :
Dans la barre de titre de la console Google Cloud, saisissez Dataflow dans le champ Recherche, cliquez sur Recherche, puis sur Dataflow.
Cliquez sur Jobs.
Cliquez sur le job Dataflow listé sur la page.
Si vous attendez environ quatre minutes, vous verrez que le job échoue. Cela déclenche la règle d'alerte. Vous pouvez consulter votre boîte de réception pour voir l'e-mail d'alerte.
Sous le graphe du pipeline Dataflow, vous trouverez le panneau Journaux. Cliquez sur Afficher. Les onglets Journaux des jobs, Journaux des nœuds de calcul, Diagnostic, Jobs BigQuery et Échantillonnage de données s'affichent.
Cliquez sur l'onglet Journaux des jobs et examinez les entrées de journal.
Ensuite, cliquez sur l'onglet Journaux des nœuds de calcul et examinez ces journaux.
Remarque :
Vous constaterez que vous pouvez développer les journaux en cliquant dessus.
Les journaux qui se répètent peuvent apparaître dans l'onglet Diagnostic.
Lorsque vous cliquez sur l'onglet Diagnostic, un lien cliquable s'affiche.
Cliquez sur ce lien pour accéder à la page "Error Reporting". Cette page fournit une vue détaillée de l'erreur. En examinant la trace de la pile, vous pouvez constater le problème : une faute de frappe dans le code du pipeline !
Dans le code, bigquery est intentionnellement mal orthographié en bugquery. Cela fait échouer le job Dataflow et déclenche la règle d'alerte, qui envoie un e-mail. Dans la section suivante, vous allez corriger le code et relancer le pipeline.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Table BigQuery invalide
Tâche 5 : Journalisation excessive
À l'aide d'un éditeur de texte (tel que Vim), ouvrez le fichier my_pipeline.py et corrigez le code en remplaçant bugquery par bigquery.
Remarque :
Dans le code, bugquery apparaît dans l'instruction SELECT sous la forme bugquery-public-data.crypto_bitcoin.transactions. Remplacez-le par bigquery-public-data.crypto_bitcoin.transactions.
Dans le terminal, exécutez la commande suivante pour lancer le pipeline :
L'exécution du pipeline va prendre environ sept minutes.
Dans la barre de titre de la console Google Cloud, saisissez Dataflow dans le champ Recherche, cliquez sur Recherche, puis sur Dataflow.
Cliquez sur Jobs. Lorsque vous cliquez sur ce nouveau job, vous devriez voir, tout à droite de la page du graphe du job, que l'état du job est réussi. Si le job n'est pas terminé, veuillez patienter jusqu'à ce qu'il se termine avec succès.
Développez la section Journaux en bas de la page et examinez les journaux dans l'onglet Journaux des nœuds de calcul.
Dans l'onglet Journaux des nœuds de calcul, vous verrez des entrées de journal au format the element is {'version' : ....... }, comme illustré dans la capture d'écran ci-dessous :
Ces entrées sont générées par la ligne suivante dans le code du pipeline :
logging.info(f"the element is {v}")
Cliquez sur l'onglet Diagnostic. Un message concernant la limitation des journaux s'affiche.
Cliquez dessus pour accéder à la page Error Reporting. Un avertissement lié à l'exécution du job signale une journalisation excessive et fournit un lien vers un document public expliquant le problème.
Pour résoudre ce problème, il vous suffit de supprimer la ligne de journalisation dans votre code de pipeline et de réexécuter le pipeline Dataflow. Une fois l'opération terminée, ce message ne devrait plus s'afficher dans l'onglet Diagnostic.
Remarque : Vous n'avez pas besoin de réexécuter ce pipeline pour terminer cet atelier.
Revenez à la page "Jobs Dataflow" en cliquant sur le bouton "Retour" de votre navigateur.
Dans le panneau des journaux développé, cliquez sur l'onglet Jobs BigQuery. Dans le menu déroulant Emplacement des données, sélectionnez "us (plusieurs régions aux États-Unis)", puis cliquez sur Charger les jobs BigQuery. Cliquez ensuite sur Confirmer.
Vous verrez deux jobs qui faisaient partie du pipeline.
Cliquez sur Ligne de commande tout à droite du premier job, puis sur Exécuter dans Cloud Shell dans le pop-up.
La commande sera collée dans Cloud Shell. Veillez à exécuter la commande.
Le résultat de la commande indique les emplacements des fichiers utilisés pour lire/écrire dans BigQuery, leur taille et la durée d'exécution du job. Si un job BigQuery a échoué, c'est ici que vous pourrez en identifier la cause.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Journalisation excessive
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 2025 Google LLC Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms de société et de produit peuvent être des marques des sociétés auxquelles ils sont associés.
Les ateliers créent un projet Google Cloud et des ressources pour une durée déterminée.
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.
En haut à gauche de l'écran, cliquez sur Démarrer l'atelier pour commencer.
Utilisez la navigation privée
Copiez le nom d'utilisateur et le mot de passe fournis pour l'atelier
Cliquez sur Ouvrir la console en navigation privée
Connectez-vous à la console
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.
Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
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.
Dans cet atelier, vous allez configurer la journalisation pour vos jobs Dataflow et explorer la page Error Reporting.
Durée :
1 min de configuration
·
Accessible pendant 120 min
·
Terminé après 120 min