arrow_back

Cloud Functions : Qwik Start – Outil de ligne de commande

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

Cloud Functions : Qwik Start – Outil de ligne de commande

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

GSP080

Google Cloud – Ateliers adaptés au rythme de chacun

Présentation

Une fonction Cloud est une portion de code qui s'exécute en réponse à un événement, tel qu'une requête HTTP, un message issu d'un service de messagerie ou une importation de fichier. Les événements cloud sont des choses qui se produisent dans votre environnement cloud. Il peut s'agir de modifications apportées aux données d'une base de données, de l'ajout de fichiers à un système de stockage ou de la création d'une instance de machine virtuelle.

Dans la mesure où les fonctions Cloud sont basées sur des événements, elles ne s'exécutent que lorsqu'il se passe quelque chose. Elles sont particulièrement utiles pour les tâches qui doivent être effectuées rapidement ou qui n'ont pas besoin d'être exécutées en permanence.

Par exemple, vous pouvez utiliser une fonction Cloud pour :

  • générer automatiquement des vignettes pour les images qui sont importées dans Cloud Storage ;
  • envoyer une notification sur le téléphone d'un utilisateur lorsqu'il reçoit un message sur Cloud Pub/Sub ;
  • traiter les données d'une base de données Cloud Firestore et générer un rapport.

Vous pouvez rédiger votre code dans n'importe quel langage compatible avec Node.js et le déployer dans le cloud en quelques clics. Une fois votre fonction Cloud déployée, elle s'exécutera automatiquement en réponse aux événements concernés.

Dans cet atelier, vous allez découvrir comment créer, déployer et tester une fonction Cloud dans la console Google Cloud.

Vous apprendrez ici à créer, déployer et tester une fonction Cloud à l'aide de la ligne de commande Google Cloud Shell.

Objectifs de l'atelier

  • Créer une fonction Cloud simple
  • Déployer et tester la fonction
  • Afficher les journaux

Préparation

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 une fonction

Tout d'abord, vous allez créer une fonction simple intitulée "helloWorld". Cette fonction écrit un message dans les journaux Cloud Functions. Elle est déclenchée par des événements Cloud Functions et accepte une fonction de rappel pour indiquer la fin de l'exécution de la fonction.

Dans cet atelier, l'événement Cloud Functions correspond à un sujet Cloud Pub/Sub. Pub/Sub est un service de messagerie où les expéditeurs des messages sont découplés des destinataires. Le destinataire d'un message envoyé ou publié doit être abonné pour être averti et pouvoir recevoir ce message. Pour en savoir plus sur Pub/Sub, consultez la page Google Cloud Pub/Sub : un service de messagerie à l'échelle de Google dans les guides Cloud Pub/Sub.

Pour en savoir plus sur les paramètres d'événement et de rappel, consultez la page Fonctions d'arrière-plan dans la documentation sur Cloud Functions.

Pour créer une fonction Cloud :

  1. Dans Cloud Shell, exécutez la commande suivante pour définir la région par défaut :
gcloud config set compute/region {{{project_0.default_region |REGION}}}
  1. Créez un répertoire pour le code de la fonction :
mkdir gcf_hello_world
  1. Accédez au répertoire gcf_hello_world :
cd gcf_hello_world
  1. Créez le fichier index.js et ouvrez-le pour le modifier :
nano index.js
  1. Copiez ce qui suit dans le fichier index.js :
/** * Background Cloud Function to be triggered by Pub/Sub. * This function is exported by index.js, and executed when * the trigger topic receives a message. * * @param {object} data The event payload. * @param {object} context The event metadata. */ exports.helloWorld = (data, context) => { const pubSubMessage = data; const name = pubSubMessage.data ? Buffer.from(pubSubMessage.data, 'base64').toString() : "Hello World"; console.log(`My Cloud Function: ${name}`); };
  1. Quittez nano (en appuyant sur Ctrl+X), puis enregistrez le fichier (en appuyant sur Y).

Tâche 2 : Créer un bucket Cloud Storage

  • Créez un bucket Cloud Storage pour votre fonction en exécutant la commande suivante :
gsutil mb -p [PROJECT_ID] gs://[BUCKET_NAME]
  • PROJECT_ID est l'ID de projet indiqué dans le panneau "Détails concernant l'atelier" à gauche de cet atelier :

  • BUCKET_NAME est le nom que vous attribuez au bucket. Vous pouvez utiliser l'ID de projet en tant que nom du bucket pour vous assurer qu'il s'agit d'un nom unique :

Pour en savoir plus sur l'attribution de noms aux buckets, consultez les consignes de dénomination des buckets dans la documentation Cloud Storage.

Tester la tâche terminée

Cliquez sur Vérifier ma progression pour valider la tâche exécutée. Si votre tâche a bien été exécutée, vous recevez une note d'évaluation.

Créer un bucket Cloud Storage

Tâche 3 : Déployer la fonction

Lors du déploiement d'une nouvelle fonction, vous devez spécifier les déclencheurs --trigger-topic, --trigger-bucket ou --trigger-http. Si vous déployez une mise à jour d'une fonction existante, celle-ci conserve le déclencheur déjà défini, sauf indication contraire.

Dans cet atelier, vous allez définir hello_world comme déclencheur --trigger-topic.

  1. Déployez la fonction sur un sujet Pub/Sub nommé hello_world, en remplaçant [BUCKET_NAME] par le nom de votre bucket :
gcloud functions deploy helloWorld \ --stage-bucket [BUCKET_NAME] \ --trigger-topic hello_world \ --runtime nodejs20 Remarque : Si vous obtenez un message d'erreur "OperationError", ignorez l'avertissement et réexécutez la commande.

Lorsque vous y êtes invité, saisissez Y pour autoriser les appels non authentifiés d'une nouvelle fonction.

  1. Vérifiez l'état de la fonction :
gcloud functions describe helloWorld

L'état "ACTIVE" indique que la fonction a bien été déployée.

entryPoint: helloWorld eventTrigger: eventType: providers/cloud.pubsub/eventTypes/topic.publish failurePolicy: {} resource: ... status: ACTIVE ...

Chaque message publié dans le sujet déclenche l'exécution de la fonction, et son contenu est transmis sous forme de données d'entrée.

Tester la tâche terminée

Cliquez sur Vérifier ma progression pour valider la tâche exécutée. Si votre tâche a bien été exécutée, vous recevez une note d'évaluation.

Déployer la fonction

Tâche 4 : Tester la fonction

Une fois la fonction déployée et active, vérifiez qu'elle écrit un message dans le journal cloud lorsqu'elle détecte un événement.

  • Saisissez cette commande pour tester la génération de messages pour la fonction :
DATA=$(printf 'Hello World!'|base64) && gcloud functions call helloWorld --data '{"data":"'$DATA'"}'

L'outil cloud renvoie l'ID d'exécution de la fonction, ce qui signifie qu'un message a bien été écrit dans le journal.

Exemple de résultat :

executionId: 3zmhpf7l6j5b

Affichez les journaux pour vérifier qu'il existe bien des messages associés à cet ID d'exécution.

Tâche 5 : Afficher les journaux

  • Consultez les journaux pour visualiser les messages de l'historique :
gcloud functions logs read helloWorld

Si la fonction est exécutée correctement, les messages apparaissent comme suit dans le journal :

LEVEL: D NAME: helloWorld EXECUTION_ID: 4bgl3jw2a9i3 TIME_UTC: 2023-03-23 13:45:31.545 LOG: Function execution took 912 ms, finished with status: 'ok' LEVEL: I NAME: helloWorld EXECUTION_ID: 4bgl3jw2a9i3 TIME_UTC: 2023-03-23 13:45:31.533 LOG: My Cloud Function: Hello World! LEVEL: D NAME: helloWorld EXECUTION_ID: 4bgl3jw2a9i3 TIME_UTC: 2023-03-23 13:45:30.633 LOG: Function execution started Remarque : Vous devez patienter environ 10 minutes avant que les journaux s'affichent. Sinon, vous pouvez consulter les journaux dans Journaux > Explorateur de journaux.

Vous avez déployé et testé votre application, et vous pouvez afficher les journaux.

Tâche 6 : 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 !

Terminer votre quête

Cet atelier d'auto-formation fait partie des quêtes Baseline: Deploy & Develop, Baseline: Infrastructure et Optimizing your Google Cloud Costs. 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 à n'importe quelle 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

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.

Étapes suivantes et informations supplémentaires

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 août 2023

Dernier test de l'atelier : 10 août 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.