Google Sheets est une solution de feuille de calcul dans le cloud qui permet de collaborer en temps réel et fournit des outils pour visualiser, traiter et communiquer des données.
Ce tutoriel explique comment déclencher des workflows à partir de Sheets.
Objectifs
Au cours de ce tutoriel, vous allez :
- Utilisez Google Forms, une solution de questionnaire et d'enquête dans le cloud, pour créer un formulaire pouvant envoyer des requêtes de création d'instances de machines virtuelles (VM).
- Associez une feuille de calcul Google Sheets au formulaire pour collecter et enregistrer les réponses.
- Utilisez Google Apps Script, une plate-forme JavaScript cloud qui vous permet de créer, de lire et de modifier des produits Google Workspace de manière programmatique, pour déclencher un workflow chaque fois qu'une demande est approuvée via une mise à jour de la feuille de calcul.
- Déployez un workflow qui appelle le connecteur d'API Compute Engine et crée une instance de VM Compute Engine en fonction des spécifications collectées via le formulaire. Les connecteurs simplifient l'appel d'autres API Google Cloud. En savoir plus sur les connecteurs Workflows
- Testez l'ensemble du processus et vérifiez qu'une instance de VM est créée comme prévu.
Coûts
Dans ce document, vous utilisez les composants facturables suivants de Google Cloud :
Obtenez une estimation des coûts en fonction de votre utilisation prévue à l'aide du simulateur de coût.
Le tutoriel utilise également Google Workspace. Les services de qualité professionnelle qui ne sont pas inclus dans les applications grand public gratuites de Google sont facturables.
Avant de commencer
Vous pouvez exécuter certaines des commandes suivantes dans la console Google Cloud ou à l'aide de Google Cloud CLI dans votre terminal ou Cloud Shell.
Les contraintes de sécurité définies par votre organisation peuvent vous empêcher d'effectuer les étapes suivantes. Pour obtenir des informations de dépannage, consultez la page Développer des applications dans un environnement Google Cloud limité.
Console
Dans la console Google Cloud, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.
Vérifiez que la facturation est activée pour votre projet Google Cloud. Découvrez comment vérifier si la facturation est activée sur un projet.
Activez les API Compute Engine et Workflows.
Notez le compte de service Compute Engine par défaut, car vous allez l'associer au workflow de ce tutoriel à des fins de test. Pour les nouveaux projets pour lesquels l'API Compute Engine est activée, ce compte de service est créé avec le rôle IAM d'éditeur de base et le format d'adresse e-mail suivant:
PROJECT_NUMBER-compute@developer.gserviceaccount.com
Vous trouverez le numéro de votre projet sur la page Bienvenue de la console Google Cloud.
Pour les environnements de production, nous vous recommandons vivement de créer un compte de service et de lui attribuer un ou plusieurs rôles IAM contenant les autorisations minimales requises conformément au principe du moindre privilège.
gcloud
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Vérifiez que la facturation est activée pour votre projet Google Cloud. Découvrez comment vérifier si la facturation est activée sur un projet.
Activez les API Compute Engine et Workflows.
gcloud services enable \ compute.googleapis.com \ workflows.googleapis.com
Notez le compte de service Compute Engine par défaut, car vous allez l'associer au workflow de ce tutoriel à des fins de test. Pour les nouveaux projets pour lesquels l'API Compute Engine est activée, ce compte de service est créé avec le rôle IAM d'éditeur de base et le format d'adresse e-mail suivant:
PROJECT_NUMBER-compute@developer.gserviceaccount.com
Vous pouvez récupérer votre numéro de projet:
gcloud projects describe PROJECT_ID
Pour les environnements de production, nous vous recommandons vivement de créer un compte de service et de lui attribuer un ou plusieurs rôles IAM contenant les autorisations minimales requises conformément au principe du moindre privilège.
Créer un formulaire pour demander des instances de VM
Créez un formulaire permettant d'envoyer une requête de création d'une instance de machine virtuelle (VM) Compute Engine. Par défaut, lorsque vous créez un formulaire via Google Forms, il est enregistré dans Google Drive.
- Accédez à forms.google.com.
- Cliquez sur Vide
.
Un nouveau formulaire s'ouvre.
- Créez un formulaire avec cinq sections obligatoires. Le formulaire doit se présenter comme suit :
Afficher un exemple de formulaire
Nom de la machine Réponse courte
Zone Menu déroulant:
- us-central1-a
- us-central1-b
- us-central1-c
- us-central1-f
Type Menu déroulant:
- e2-micro
- e2-small
- e2-medium
- e2-standard-2
- e2-standard-4
Taille du disque (Go) Réponse courte
Système d'exploitation Menu déroulant:
- debian-10
- centos-stream-9
- cos-93-lts
- cos-97-lts
- Activez la collecte des adresses e-mail pour enregistrer les adresses e-mail des personnes qui remplissent votre formulaire :
- Cliquez sur Paramètres.
- Développez la section Réponses.
- Cliquez sur le bouton bascule Collecter les adresses e-mail.
Associer une feuille de calcul à votre formulaire
Une fois que vous avez créé un formulaire, associez-y une feuille de calcul afin de pouvoir enregistrer les réponses à ce formulaire dans cette feuille de calcul. La feuille de calcul est enregistrée dans Drive.
- Ouvrez votre formulaire dans Forms.
- Cliquez sur Réponses.
- Cliquez sur Associer à Sheets.
- Dans la boîte de dialogue Sélectionner la destination des réponses, sélectionnez Créer une feuille de calcul.
Cliquez sur Créer.
La feuille de calcul associée s'ouvre.
Dans la colonne H, ajoutez un en-tête Approuvé ?.
Placez le curseur dans la première ligne de la colonne H, puis sélectionnez Insérer > Case à cocher.
La feuille de calcul doit se présenter comme suit:
Chaque fois qu'une réponse est ajoutée à la feuille, la case à cocher correspondante s'affiche également dans la ligne de cette réponse.
Étendre Google Sheets à l'aide d'Apps Script
Apps Script vous permet de créer, lire et modifier des feuilles de calcul par programmation. La plupart des scripts conçus pour Sheets manipulent des tableaux pour interagir avec les cellules, les lignes et les colonnes d'une feuille de calcul. Pour découvrir comment utiliser Apps Script avec Sheets, consultez le guide de démarrage rapide sur les fonctions personnalisées.
Créez un projet Apps Script à partir de Sheets:
- Ouvrez votre feuille de calcul Sheets.
- Sélectionnez Extensions > Apps Script.
- Dans l'éditeur de script, cliquez sur Projet sans titre.
- Attribuez un nom à votre projet, puis cliquez sur Renommer.
Votre script est désormais lié à votre feuille de calcul, ce qui lui permet de modifier l'interface utilisateur ou de répondre lorsque la feuille de calcul est ouverte.
Un projet de script représente un ensemble de fichiers et de ressources Apps Script. Les fichiers de code d'un projet de script ont une extension
.gs
.Vous pouvez utiliser Apps Script pour écrire des fonctions personnalisées que vous pouvez utiliser dans Sheets comme une fonction intégrée. Les fonctions personnalisées sont créées à l'aide de JavaScript standard. Créez une fonction:
- Ouvrez votre projet Apps Script.
- Cliquez sur Éditeur .
- Un fichier de script apparaît sous la forme d'un fichier de projet nommé
Code.gs
. Pour modifier le fichier, sélectionnez-le. Remplacez tout code dans l'éditeur de script par le code suivant, qui lit les données de votre feuille de calcul et les transmet en entrée à l'exécution d'un workflow:
Remplacez
your-project-id
par l'ID de votre projet Google Cloud.Vous pouvez trouver l'ID de votre projet sur la page de Bienvenue de la console Google Cloud.
Cliquez sur Enregistrer
.
Les déclencheurs installables Apps Script permettent à un projet de script d'exécuter une fonction spécifiée lorsque certaines conditions sont remplies, par exemple lorsqu'une feuille de calcul est ouverte ou modifiée. Créez un déclencheur:
- Ouvrez votre projet Apps Script.
- Cliquez sur Déclencheurs .
- Cliquez sur Ajouter un déclencheur.
- Dans la boîte de dialogue Ajouter un déclencheur pour VOTRE_NOM_PROJET, configurez le déclencheur :
- Dans la liste Choisir la fonction à exécuter, sélectionnez handleEdit.
- Dans la liste Choisir le déploiement à exécuter, sélectionnez Head (Tête).
- Dans la liste Sélectionner une source d'événements, sélectionnez À partir d'une feuille de calcul.
- Dans la liste Sélectionner un type d'événement, sélectionnez Lors de la modification.
- Dans la liste Paramètres de notification d'échec, sélectionnez M'envoyer une notification quotidienne.
- Cliquez sur Enregistrer.
Si vous êtes invité à choisir un compte Google, sélectionnez le compte approprié, puis cliquez sur Autoriser.
Votre projet Apps Script peut ainsi afficher, modifier, créer et supprimer vos feuilles de calcul Sheets, et se connecter à un service externe.
Le fichier manifeste d'un projet Apps Script est un fichier JSON qui spécifie les informations de base du projet dont Apps Script a besoin pour exécuter un script. Notez que l'éditeur Apps Script masque les fichiers manifestes par défaut pour protéger les paramètres de votre projet Apps Script. Modifiez le fichier manifeste:
- Ouvrez votre projet Apps Script.
- Cliquez sur Paramètres du projet .
- Cochez la case Afficher le fichier manifeste "appsscript.json" dans l'éditeur.
- Cliquez sur Éditeur .
- Le fichier manifeste apparaît sous la forme d'un fichier de projet nommé
appsscript.json
. Pour modifier le fichier, sélectionnez-le. Le champ
oauthScopes
spécifie un tableau de chaînes. Pour définir les champs d'application d'autorisation utilisés par votre projet, ajoutez un tableau contenant les champs d'application que vous souhaitez prendre en charge. Exemple :{ "timeZone": "America/Toronto", "dependencies": { }, "exceptionLogging": "STACKDRIVER", "runtimeVersion": "V8", "oauthScopes": [ "https://www.googleapis.com/auth/script.external_request", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/spreadsheets" ] }
Les portées explicites sont définies sur:
- Se connecter à un service externe.
- Consulter, modifier, configurer et supprimer vos données Google Cloud, et voir l'adresse e-mail de votre compte Google
- Consulter, modifier, créer et supprimer toutes vos feuilles de calcul Sheets
Cliquez sur Enregistrer
.
Déployer un workflow qui crée une instance de VM
Déployez un workflow déclenché lorsqu'une requête de création d'une instance de VM est approuvée. Le workflow appelle le connecteur de l'API Compute Engine pour créer une instance de VM Compute Engine en fonction des spécifications collectées via le formulaire.
Console
Dans la console Google Cloud, accédez à la page Workflows:
Cliquez sur
Créer.Saisissez un nom pour le nouveau workflow:
create-vm-from-form
.Dans la liste Région, sélectionnez us-central1 (Iowa).
Pour Compte de service, sélectionnez le compte de service Compute Engine par défaut (
PROJECT_NUMBER-compute@developer.gserviceaccount.com
).Cliquez sur Suivant.
Dans l'éditeur de workflow, saisissez la définition suivante pour votre workflow:
Cliquez sur Déployer.
gcloud
Créez un fichier de code source pour votre workflow:
touch create-vm-from-form.yaml
Dans un éditeur de texte, copiez le workflow suivant dans votre fichier de code source:
Déployez le workflow en saisissant la commande suivante :
gcloud workflows deploy create-vm-from-form \ --source=create-vm-from-form.yaml \ --location=us-central1 \ --service-account=PROJECT_NUMBER-compute@developer.gserviceaccount.com
Remplacez
PROJECT_NUMBER
par votre numéro de projet Google Cloud. Vous pouvez récupérer votre numéro de projet:gcloud projects describe PROJECT_ID
Tester le parcours de bout en bout
Pour vérifier que tout fonctionne comme prévu, essayez d'exécuter l'ensemble du processus.
Envoyez-vous votre formulaire et répondez aux questions.
Assurez-vous que les spécifications que vous utilisez pour créer une instance de VM sont valides. Sinon, l'exécution de votre workflow échouera. Pour en savoir plus, consultez la section Famille de machines à usage général Compute Engine.
Pour envoyer votre réponse, cliquez sur Envoyer.
Ouvrez votre formulaire dans Forms.
Cliquez sur Réponses.
Cliquez sur Afficher dans Sheets.
Votre feuille de calcul associée s'ouvre.
Sur la ligne de votre réponse, cochez la case Approuvé.
Ouvrez votre projet Apps Script.
Cliquez sur Exécutions
.Votre déclencheur doit être exécuté et répertorié avec l'état
Completed
.Vérifiez que le workflow
create-vm-from-form
a bien été exécuté:Console
Dans la console Google Cloud, accédez à la page Workflows.
Sur la page Workflows (Workflows), cliquez sur le workflow create-vm-from-form (créer une VM à partir d'un formulaire) pour accéder à sa page d'informations.
Sur la page Détails du workflow, pour récupérer les détails d'une exécution spécifique, cliquez sur l'ID d'exécution approprié.
L'état d'exécution doit être Réussite et, dans le volet "Entrée", vous devriez voir les spécifications de la VM que vous avez demandées.
gcloud
Récupérez la liste des tentatives d'exécution de votre workflow:
gcloud workflows executions list create-vm-from-form
Le résultat doit ressembler à ce qui suit:
NAME: projects/918619793306/locations/us-central1/workflows/create-vm-from-form/executions/d8947ecb-9ccb-4ea1-ba10-e5c10414e3be STATE: SUCCEEDED START_TIME: 2023-01-24T15:07:40.404741791Z END_TIME: 2023-01-24T15:07:55.649373625Z
Vérifiez qu'une nouvelle VM a été créée comme prévu:
Console
Dans la console Google Cloud, accédez à la page Instances de VM.
Accéder à la page Instances de VM
Votre instance de VM doit être listée avec un état indiquant qu'elle est en cours d'exécution.
gcloud
Récupérez une liste d'agrégation de toutes les VM dans toutes les zones d'un projet:
gcloud compute instances list
Votre instance de VM doit s'afficher avec un état indiquant qu'elle est en cours d'exécution.
Pour en savoir plus sur la commande
gcloud compute instances list
, consultez sa page de référence.
Effectuer un nettoyage
Si vous avez créé un projet pour ce tutoriel, supprimez-le. Si vous avez utilisé un projet existant et que vous souhaitez le conserver sans les modifications du présent tutoriel, supprimez les ressources créées pour ce tutoriel.
Supprimer le projet
Le moyen le plus simple d'empêcher la facturation est de supprimer le projet que vous avez créé pour ce tutoriel.
Pour supprimer le projet :
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.