Points de contrôle
Deploy the function
/ 100
Cloud Functions : Qwik Start – Outil de ligne de commande
GSP080
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
- Déployer et tester la fonction Cloud
- 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) ;
- vous disposez d'un temps limité ; une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Démarrer l'atelier et se connecter à la console Google Cloud
-
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 Cloud
- Le temps restant
- Les identifiants temporaires que vous devez utiliser pour cet atelier
- Des informations complémentaires vous permettant d'effectuer l'atelier
-
Cliquez sur Ouvrir la console Google Cloud (ou effectuez un clic droit et sélectionnez Ouvrir le lien dans la fenêtre de navigation privée si vous utilisez le navigateur Chrome).
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. -
Si nécessaire, copiez le nom d'utilisateur ci-dessous et collez-le dans la boîte de dialogue Se connecter.
{{{user_0.username | "Username"}}} Vous trouverez également le nom d'utilisateur dans le panneau Détails concernant l'atelier.
-
Cliquez sur Suivant.
-
Copiez le mot de passe ci-dessous et collez-le dans la boîte de dialogue Bienvenue.
{{{user_0.password | "Password"}}} Vous trouverez également le mot de passe dans le panneau Détails concernant l'atelier.
-
Cliquez sur Suivant.
Important : Vous devez utiliser les identifiants fournis pour l'atelier. Ne saisissez pas ceux de votre compte Google Cloud. Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires peuvent vous être facturés. -
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 à des essais gratuits.
Après quelques instants, la console Cloud s'ouvre dans cet onglet.
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.
- Cliquez sur 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 :
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.
- (Facultatif) Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
-
Cliquez sur Autoriser.
-
Vous devez à présent obtenir le résultat suivant :
Résultat :
- (Facultatif) Vous pouvez lister les ID de projet à l'aide de cette commande :
Résultat :
Exemple de résultat :
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 :
-
Dans Cloud Shell, exécutez la commande suivante pour définir la région par défaut :
gcloud config set run/region {{{project_0.default_region |REGION}}} -
Créez un répertoire pour le code de la fonction :
mkdir gcf_hello_world && cd $_ -
Créez le fichier
index.js
et ouvrez-le pour le modifier :nano index.js -
Copiez ce qui suit dans le fichier
index.js
:const functions = require('@google-cloud/functions-framework'); // Register a CloudEvent callback with the Functions Framework that will // be executed when the Pub/Sub trigger topic receives a message. functions.cloudEvent('helloPubSub', cloudEvent => { // The Pub/Sub message is passed as the CloudEvent's data payload. const base64name = cloudEvent.data.message.data; const name = base64name ? Buffer.from(base64name, 'base64').toString() : 'World'; console.log(`Hello, ${name}!`); }); -
Quittez nano (en appuyant sur Ctrl+X), puis enregistrez le fichier (en appuyant sur Y).
-
Créez le fichier
package.json
et ouvrez-le pour le modifier : -
Copiez le code suivant dans le fichier
package.json
:{ "name": "gcf_hello_world", "version": "1.0.0", "main": "index.js", "scripts": { "start": "node index.js", "test": "echo \"Error: no test specified\" && exit 1" }, "dependencies": { "@google-cloud/functions-framework": "^3.0.0" } } -
Quittez nano (en appuyant sur Ctrl+X), puis enregistrez le fichier (en appuyant sur Y).
-
Installez les dépendances du package
npm install Résultat attendu :
added 140 packages, and audited 141 packages in 9s 27 packages are looking for funding run `npm fund` for details found 0 vulnerabilities
Tâche 2 : Déployer la fonction
Dans cet atelier, vous allez définir cf_demo
comme déclencheur --trigger-topic
.
Les fonctions Cloud sont basées sur des événements, ce qui signifie qu'un type de déclencheur doit être spécifié. Pour déployer une nouvelle fonction, les événements de déclenchement courants sont "--trigger-topic", "--trigger-bucket" ou "--trigger-http". Si vous déployez une mise à jour d'une fonction existante, cette dernière conserve le déclencheur déjà défini, sauf indication contraire.
-
Déployez la fonction helloPubSub sur un sujet Pub/Sub nommé cf-demo.
gcloud functions deploy nodejs-pubsub-function \ --gen2 \ --runtime=nodejs20 \ --region={{{ project_0.default_region | REGION }}} \ --source=. \ --entry-point=helloPubSub \ --trigger-topic cf-demo \ --stage-bucket {{{ project_0.project_id | PROJECT_ID }}}-bucket \ --service-account cloudfunctionsa@{{{ project_0.project_id | PROJECT_ID }}}.iam.gserviceaccount.com \ --allow-unauthenticated Remarque :
Si vous recevez une notification serviceAccountTokenCreator pour un compte de service, sélectionnez n. -
Vérifiez l'état de la fonction :
gcloud functions describe nodejs-pubsub-function \ --region={{{ project_0.default_region | REGION }}} L'état "ACTIVE" indique que la fonction a bien été déployée.
Résultat attendu :
BuildConfig: automaticUpdatePolicy: {} build: projects/630521560493/locations/{{{ project_0.default_region | REGION }}}/builds/7ff9d415-50d9-4557-9bcd-5afad42a6390 dockerRegistry: ARTIFACT_REGISTRY dockerRepository: projects/{{{ project_0.project_id | PROJECT_ID }}}/locations/{{{ project_0.default_region | REGION }}}/repositories/gcf-artifacts entryPoint: helloPubSub ... State: ACTIVE ... UpdateTime: '2024-08-05T13:51:05.317298824Z' Url: https://{{{ project_0.default_region | REGION }}}-{{{ project_0.project_id | PROJECT_ID }}}.cloudfunctions.net/nodejs-pubsub-function
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.
Tâche 3 : 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.
-
Appelez le sujet Pub/Sub avec des données.
gcloud pubsub topics publish cf-demo --message="Cloud Function Gen2" Exemple de résultat :
messageIds: - '11927162971409664'
Affichez les journaux pour vérifier qu'il existe bien des messages associés à cet ID d'exécution.
Tâche 4 : Afficher les journaux
-
Consultez les journaux pour visualiser les messages de l'historique :
gcloud functions logs read nodejs-pubsub-function \ --region={{{ project_0.default_region | REGION }}} Remarque :
L'affichage des journaux peut prendre environ 10 minutes. Vous pouvez également consulter les journaux en passant par Journalisation > Explorateur de journaux.La fonction Cloud devrait générer un résultat semblable à celui-ci :
LEVEL: NAME: nodejs-pubsub-function EXECUTION_ID: h4v6akxf4sxt TIME_UTC: 2024-08-05 15:15:25.723 LOG: Hello, Cloud Function Gen2! LEVEL: I NAME: nodejs-pubsub-function EXECUTION_ID: TIME_UTC: 2024-08-05 15:15:25.711 LOG: LEVEL: NAME: nodejs-pubsub-function EXECUTION_ID: h4oxfjn7zlyu TIME_UTC: 2024-08-05 15:10:34.303 LOG: Hello, Friend! LEVEL: I NAME: nodejs-pubsub-function EXECUTION_ID: TIME_UTC: 2024-08-05 15:10:34.291 LOG: LEVEL: NAME: nodejs-pubsub-function EXECUTION_ID: h4fjhyfxua3k TIME_UTC: 2024-08-05 15:03:16.342 LOG: Hello, "SGVsbG8gZnJvbSB0aGUgY29tbWFuZCBsaW5l"!
Vous avez déployé et testé votre application, et vous pouvez afficher les journaux.
Tâche 5 : 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 !
Vous avez utilisé la console Google Cloud pour créer, déployer et tester une fonction Cloud à l'aide de la ligne de commande.
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 donner un aperçu des 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
- Maintenant que vous savez exécuter une fonction Cloud à l'aide de la ligne de commande, suivez l'atelier Cloud Functions : Qwik Start - Console pour apprendre à le faire avec la console Cloud.
- Pour en savoir plus sur la création de déclencheurs et leur association à des fonctions, consultez la section Événements et déclencheurs des guides Cloud Functions.
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 : 5 août 2024
Dernier test de l'atelier : 5 août 2024
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.