Instructions et exigences de configuration de l'atelier
Protégez votre compte et votre progression. Utilisez toujours une fenêtre de navigation privée et les identifiants de l'atelier pour exécuter cet atelier.

Surveiller et gérer les ressources Google Cloud : atelier challenge

Atelier 20 minutes universal_currency_alt 1 crédit show_chart Débutant
info Cet atelier peut intégrer des outils d'IA pour vous accompagner dans votre apprentissage.
Ce contenu n'est pas encore optimisé pour les appareils mobiles.
Pour une expérience optimale, veuillez accéder à notre site sur un ordinateur de bureau en utilisant un lien envoyé par e-mail.

ARC101

Logo des ateliers d'auto-formation Google Cloud

Présentation

Dans un atelier challenge, vous devez suivre un scénario et effectuer une série de tâches. Aucune instruction détaillée n'est fournie : vous devez utiliser les compétences acquises au cours des ateliers du cours correspondant pour déterminer comment procéder par vous-même. Vous saurez si vous avez exécuté correctement les différentes tâches grâce au score calculé automatiquement (affiché sur cette page).

Lorsque vous participez à un atelier challenge, vous n'étudiez pas de nouveaux concepts Google Cloud. Vous allez approfondir les compétences précédemment acquises. Par exemple, vous devrez modifier les valeurs par défaut ou encore examiner des messages d'erreur pour corriger vous-même les problèmes.

Pour atteindre le score de 100 %, vous devez mener à bien l'ensemble des tâches dans le délai imparti.

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 les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Des identifiants temporaires vous sont fournis pour vous permettre de 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 (recommandé) ou de 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.
  • Vous disposez d'un temps limité. N'oubliez pas qu'une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Remarque : Utilisez uniquement le compte de participant pour cet atelier. Si vous utilisez un autre compte Google Cloud, des frais peuvent être facturés à ce compte.

Scénario du challenge

Vous venez d'être embauché en tant qu'ingénieur cloud junior. Jusqu'à présent, vous avez aidé des équipes à créer et gérer des ressources Google Cloud.

Vous êtes censé disposer des compétences et des connaissances requises pour ces tâches.

Votre challenge

Il vous est demandé d'aider une équipe de développement récemment constituée à lancer un nouveau projet, appelé Travel (Voyage), portant sur le stockage et l'organisation de photographies de voyage. Vous devez aider l'équipe Travel à réaliser la configuration initiale de l'environnement de développement d'application.

Vos tâches sont les suivantes :

  • Créer un bucket Cloud Storage et le partager avec un autre utilisateur.
  • Créer un sujet Pub/Sub pour que la fonction Cloud Run envoie des messages.
  • Créer une fonction Cloud Run qui s'exécute chaque fois qu'un objet est créé dans le bucket Cloud Storage.
  • Créer une règle d'alerte pour envoyer un e-mail de notification concernant le nombre d'instances de fonction Cloud Run actives.

Voici quelques normes que vous devez respecter :

  • Sauf instruction contraire, créez toutes les ressources dans la région .
  • Utilisez les VPC du projet.
  • Les noms suivent normalement le schéma équipe-ressource : par exemple, une instance peut être nommée kraken-webserver1.
  • Allouez des tailles de ressources économiques. Les projets sont surveillés, et une utilisation excessive des ressources entraînera l'arrêt du projet associé (du vôtre, éventuellement). Soyez donc vigilant. Voici les indications fournies par l'équipe de surveillance : sauf instruction contraire, utilisez f1-micro pour les petites VM Linux, et e2-medium pour Windows ou d'autres applications, comme des nœuds Kubernetes.

Chaque tâche est décrite en détail ci-dessous. Bonne chance !

Tâche 1 : Créer un bucket

  1. Créez un bucket nommé dans la région pour stocker les photos.

  2. Attribuez le rôle Lecteur d'objets Storage à dans le projet contenant ce nouveau bucket.

Cliquez sur Vérifier ma progression pour valider l'objectif. Créer un bucket nommé et accorder l'accès à

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

  • Créez un sujet Pub/Sub appelé pour que la fonction Cloud Run envoie des messages.

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

Tâche 3 : Créer la fonction Cloud Run "thumbnail" (vignette)

  1. Créez une fonction Cloud Run (2e génération) nommée (à l'aide de Node.js 22) qui s'exécute chaque fois qu'un objet est créé dans le bucket que vous avez créé à la tâche 1.

  2. Assurez-vous d'avoir défini le point d'entrée (la fonction à exécuter) sur thumbnail (vignette) et le déclencheur sur Cloud Storage.

  3. À la ligne 15 d'index.js remplacez le texte REPLACE_WITH_YOUR_TOPIC ID par le sujet que vous avez créé à la tâche 2.

index.js :

/* globals exports, require */ //jshint strict: false //jshint esversion: 6 "use strict"; const crc32 = require("fast-crc32c"); const { Storage } = require('@google-cloud/storage'); const gcs = new Storage(); const { PubSub } = require('@google-cloud/pubsub'); const imagemagick = require("imagemagick-stream"); exports.thumbnail = (event, context) => { const fileName = event.name; const bucketName = event.bucket; const size = "64x64" const bucket = gcs.bucket(bucketName); const topicName = "REPLACE_WITH_YOUR_TOPIC ID"; const pubsub = new PubSub(); if ( fileName.search("64x64_thumbnail") == -1 ){ // doesn't have a thumbnail, get the filename extension var filename_split = fileName.split('.'); var filename_ext = filename_split[filename_split.length - 1]; var filename_without_ext = fileName.substring(0, fileName.length - filename_ext.length ); if (filename_ext.toLowerCase() == 'png' || filename_ext.toLowerCase() == 'jpg'){ // only support png and jpg at this point console.log(`Processing Original: gs://${bucketName}/${fileName}`); const gcsObject = bucket.file(fileName); let newFilename = filename_without_ext + size + '_thumbnail.' + filename_ext; let gcsNewObject = bucket.file(newFilename); let srcStream = gcsObject.createReadStream(); let dstStream = gcsNewObject.createWriteStream(); let resize = imagemagick().resize(size).quality(90); srcStream.pipe(resize).pipe(dstStream); return new Promise((resolve, reject) => { dstStream .on("error", (err) => { console.log(`Error: ${err}`); reject(err); }) .on("finish", () => { console.log(`Success: ${fileName} → ${newFilename}`); // set the content-type gcsNewObject.setMetadata( { contentType: 'image/'+ filename_ext.toLowerCase() }, function(err, apiResponse) {}); pubsub .topic(topicName) .publisher() .publish(Buffer.from(newFilename)) .then(messageId => { console.log(`Message ${messageId} published.`); }) .catch(err => { console.error('ERROR:', err); }); }); }); } else { console.log(`gs://${bucketName}/${fileName} is not an image I can handle`); } } else { console.log(`gs://${bucketName}/${fileName} already has a thumbnail`); } };

package.json :

{ "name": "thumbnails", "version": "1.0.0", "description": "Create Thumbnail of uploaded image", "scripts": { "start": "node index.js" }, "dependencies": { "@google-cloud/pubsub": "^2.0.0", "@google-cloud/storage": "^5.0.0", "fast-crc32c": "1.0.4", "imagemagick-stream": "4.1.1" }, "devDependencies": {}, "engines": { "node": ">=4.3.2" } } Remarque : Vous devez importer une image au format JPG ou PNG dans le bucket pour vérifier que la vignette a été créée (après avoir créé la fonction). Utilisez l'image https://storage.googleapis.com/cloud-training/arc102/wildlife.jpg. Téléchargez-la sur votre machine, puis importez ce fichier dans votre bucket.

Peu après, une vignette s'affiche (cliquez sur ACTUALISER sur la page d'informations du bucket).

Une fois le fichier image importé, vous pouvez cliquer sur le bouton ci-dessous pour vérifier votre progression. Vous n'avez pas besoin d'attendre que la vignette soit créée.

Remarque : Si la fonction a bien été déployée et que vous ne voyez pas la vignette dans le bucket, vous pouvez vérifier que l'onglet Déclencheurs affiche les informations de déclencheur que vous avez fournies plus tôt pour la fonction. Ces informations n'ont peut-être pas été enregistrées correctement si vous avez rencontré des erreurs. Si le déclencheur Cloud Storage ne s'affiche pas dans l'onglet Déclencheurs de la fonction, vous pouvez le recréer (voir la page de documentation intitulée Créer un déclencheur pour les services), puis importer à nouveau un fichier pour effectuer un nouveau test (actualisez la page après avoir ajouté le nouveau fichier).

Cliquez sur Vérifier ma progression pour valider l'objectif. Vérifier que la fonction Cloud Run fonctionne

Tâche 4 : Créer une règle d'alerte

  1. Créez une règle d'alerte nommée Active Cloud Run Function Instances (Instances de fonction Cloud Run actives) qui envoie une notification à votre adresse e-mail personnelle lorsque le nombre d'instances de fonction Cloud Run actives est supérieur à zéro (0).

  2. Pour la métrique, veillez à sélectionner Fonction Cloud > Fonction > Instances actives.

Cliquez sur Vérifier ma progression pour valider l'objectif. Vérifier qu'une alerte de fonction Cloud Run a été créée

Félicitations !

Badge Surveiller et gérer les ressources de données sur Google Cloud

Gagnez un badge de compétence

Cet atelier d'auto-formation fait partie du cours Surveiller et gérer les ressources Google Cloud, qui permet d'obtenir un badge de compétence. Si vous terminez ce cours, vous obtiendrez le badge de compétence ci-dessus attestant de votre réussite. Ajoutez ce badge à votre CV et partagez-le sur les réseaux sociaux en utilisant le hashtag #GoogleCloudBadge.

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 : 10 mars 2025

Dernier test de l'atelier : 10 mars 2025

Copyright 2026 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

Using an Incognito or private browser window is the best way to run this lab. This prevents any conflicts between your personal account and the Student account, which may cause extra charges incurred to your personal account.