arrow_back

Perform Foundational Infrastructure Tasks in Google Cloud : atelier challenge

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

Perform Foundational Infrastructure Tasks in Google Cloud : atelier challenge

Lab 1 heure 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

GSP315

Google Cloud – Ateliers adaptés au rythme de chacun

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 de la quête correspondante 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.

Cet atelier est recommandé aux participants inscrits à la quête Google Cloud Skills Boost Perform Foundational Infrastructure Tasks in Google Cloud. Êtes-vous prêt pour le challenge ?

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.

Scénario du challenge

Vous venez de prendre vos fonctions comme ingénieur cloud débutant chez Jooli inc. 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 connaissances requises pour ces tâches. Ne vous attendez donc pas à recevoir des instructions détaillées.

Votre challenge

Il vous est maintenant demandé d'aider une équipe de développement récemment constituée pour le démarrage d'un nouveau projet portant sur le stockage et l'organisation de photographies, appelé "memories" (mémoires). Il vous a été demandé d'aider l'équipe memories (mémoires) concernant la configuration initiale de leur environnement de développement d'application. Les tâches que vous devez effectuer sont les suivantes :

  • Créer un bucket pour stocker les photographies.
  • Créer un sujet Pub/Sub qui sera utilisé par une fonction Cloud que vous créez.
  • Créer une fonction Cloud.
  • Supprimer l'accès de l'ingénieur cloud précédent du projet memories (mémoires).

Voici certaines normes de Jooli Inc. que vous devez respecter :

  • Sauf instruction contraire, toutes les ressources doivent être créées dans la région et la zone .
  • Utilisez les VPC du projet.
  • Les noms suivent normalement le schéma équipe-ressource : par exemple, une instance peut être nommée kraken-webserver1.
  • Des quantités de ressources rentables doivent être allouées. Les projets sont surveillés, et une utilisation excessive des ressources entraînera l'arrêt des projets (du vôtre, éventuellement). Soyez donc vigilant. Voici les indications fournies par l'équipe de surveillance : sauf instruction contraire, utilisez e2-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

Vous devez créer un bucket appelé pour stocker les photographies. Assurez-vous de créer la ressource dans la région et la zone .

Cliquez sur Vérifier ma progression pour valider l'objectif. Créer un bucket appelé

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

Créez un sujet Pub/Sub appelé pour que la fonction Cloud 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 "thumbnail" (vignette)

Créez une fonction Cloud qui permettra de générer une vignette à partir d'une image ajoutée au bucket . Assurez-vous que la fonction Cloud utilise l'environnement de 2e génération. Assurez-vous de créer la ressource dans la région et la zone .

  1. Créez une fonction Cloud appelée
Remarque : La fonction Cloud doit s'exécuter chaque fois qu'un objet est créé dans le bucket créé lors de la tâche 1. Au cours du processus, la fonction Cloud peut demander l'autorisation d'activer des API. Veuillez activer chaque API requise comme demandé.
  1. Assurez-vous d'avoir défini le point d'entrée (la fonction à exécuter) sur et le déclencheur sur Cloud Storage.

  2. Ajoutez le code suivant au fichier index.js :

const functions = require('@google-cloud/functions-framework'); 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"); functions.cloudEvent('{{{ project_0.startup_script.function }}}', cloudEvent => { const event = cloudEvent.data; console.log(`Event: ${event}`); console.log(`Hello ${event.bucket}`); const fileName = event.name; const bucketName = event.bucket; const size = "64x64" const bucket = gcs.bucket(bucketName); const topicName = "{{{ project_0.startup_script.topic }}}"; 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`); } });
  1. Ajoutez le code suivant au fichier package.json :
{ "name": "thumbnails", "version": "1.0.0", "description": "Create Thumbnail of uploaded image", "scripts": { "start": "node index.js" }, "dependencies": { "@google-cloud/functions-framework": "^3.0.0", "@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" } }

Vérifiez que la vignette a bien été créée.

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

Tâche 4 : Tester l'infrastructure

Vous devez importer une image JPG ou PNG dans le bucket

  1. Importez une image JPG ou PNG dans le bucket .
Remarque : Vous pouvez aussi importer cette image https://storage.googleapis.com/cloud-training/gsp315/map.jpg sur votre machine. Ensuite, importez-la dans le bucket.
  1. Peu après, une image de vignette s'affiche (utilisez ACTUALISER dans les informations sur le bucket).

Tâche 5 : Supprimer l'accès de l'ingénieur cloud précédent

Vous verrez que deux utilisateurs sont définis dans le projet.

  • L'un correspond à votre compte ( avec le rôle de propriétaire).
  • L'autre correspond à l'ingénieur cloud précédent ( avec le rôle de lecteur).
  1. Supprimez l'accès de l'ingénieur cloud précédent du projet.

Cliquez sur Vérifier ma progression pour valider l'objectif. Supprimer l'accès de l'ingénieur cloud précédent

Félicitations !

Badge de compétence Perform Foundational Infrastructure Tasks in Google Cloud

Gagnez un badge de compétence

Cet atelier d'auto-formation fait partie de la quête Perform Foundational Infrastructure Tasks in Google Cloud. Si vous terminez cette quête, vous obtiendrez le badge de compétence ci-dessus attestant de votre réussite. Ajoutez votre badge à votre CV et partagez-le sur les réseaux sociaux en utilisant le hashtag #GoogleCloudBadge.

Cette quête fait partie des parcours de formation Google Perform Foundational Infrastructure Tasks in Google Cloud et Cloud Architect. Si vous avez déjà complété les autres quêtes de votre parcours de formation, explorez le catalogue Google Cloud Skills Boost pour découvrir plus de vingt autres quêtes auxquelles vous pouvez vous inscrire pour gagner un badge de compétence.

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 : 19 septembre 2023

Dernier test de l'atelier : 19 septembre 2023

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.