Google Sheets est un service de feuilles de calcul qui favorise la collaboration en temps réel et fournit des outils pour visualiser, traiter et communiquer des données.
L'exemple suivant montre comment écrire dans Sheets à partir d'un workflow. Le workflow interroge un ensemble de données BigQuery et écrit les résultats dans une feuille de calcul Sheets. Elle utilise des connecteurs Workflows pour simplifier les appels d'API Google Cloud.
Avant de commencer
Avant de tester l'exemple présenté dans ce document, assurez-vous d'avoir suivi comme suit.
activer Compute Engine, Google Drive, Google Sheets et API Workflows.
Console
gcloud
gcloud services enable \ compute.googleapis.com \ drive.googleapis.com \ sheets.googleapis.com \ workflows.googleapis.com
Notez les Compte de service Compute Engine par défaut compte de service, car vous l'associerez à l'exemple de workflow pour les tests objectifs. Les nouveaux projets pour lesquels l'API Compute Engine est activée présentent ce compte de service créé avec le rôle IAM "Éditeur de base", et au format d'adresse e-mail suivant:
PROJECT_NUMBER-compute@developer.gserviceaccount.com
Vous trouverez le numéro de votre projet dans la Bienvenue de la console Google Cloud, ou vous pouvez récupérer votre numéro de projet:
gcloud projects describe PROJECT_ID
Pour les environnements de production, nous vous recommandons vivement Créer un compte de service et lui attribuer un ou plusieurs rôles IAM contenant autorisations minimales requises et suivez le principe de moindre privilège.
Créez un dossier dans Google Drive. Ce dossier est utilisé pour stocker vos feuille de calcul. En configurant une autorisation pour le dossier partagé, votre workflow est autorisé à écrire dans la feuille de calcul.
- Accédez à drive.google.com.
- Cliquez sur Nouveau > Nouveau dossier.
- Attribuez un nom au dossier.
- Cliquez sur Créer.
- Effectuez un clic droit sur le nouveau dossier, puis sélectionnez Partager.
Ajouter l'adresse e-mail du service Compute Engine par défaut Google Cloud.
Le compte de service peut ainsi accéder au dossier. Lorsque vous associez compte de service avec votre workflow, celui-ci disposera à tous les fichiers du dossier. En savoir plus sur le partage de fichiers, de dossiers et Drive.
Sélectionnez le rôle Éditeur.
Décochez la case Envoyer une notification.
Cliquez sur Partager,
Créer une feuille de calcul
Vous pouvez créer une feuille de calcul de l'une des manières suivantes:
- Créer une feuille de calcul avec Google Sheets
- Créer une feuille de calcul à l'aide du connecteur de l'API Google Sheets
Il n’y a pas d’option pour créer une feuille de calcul directement dans un dossier spécifié à l'aide de l'API Google Sheets. Cependant, il existe des alternatives, y compris déplacer la feuille de calcul vers un emplacement spécifique après l'avoir créé, comme dans les exemples suivants. Pour plus pour en savoir plus, consultez Utiliser les dossiers Google Drive
Créer une feuille de calcul avec Google Sheets
Lorsque vous créez une feuille de calcul avec Google Sheets, elle est enregistrée dans Google Drive. Par défaut, la feuille de calcul est enregistrée dans votre dossier racine sur Drive.
Accédez à sheets.google.com.
Cliquez sur New (Nouveau) .
Votre nouvelle feuille de calcul est alors créée. Chaque feuille de calcul a une
spreadsheetId
, contenant des lettres, des chiffres, des traits d'union ou des traits de soulignement. Vous trouverez ID de feuille de calcul dans une URL Google Sheets:https://docs.google.com/spreadsheets/d/spreadsheetId/edit#gid=0
Notez cet ID, car vous en aurez besoin à la création du workflow.
Déplacez la feuille de calcul dans le dossier Google Drive que vous avez créé. précédemment:
- Dans la feuille de calcul, sélectionnez Fichier > Déplacer.
- Accédez au dossier que vous avez créé.
- Cliquez sur Déplacer.
Créer une feuille de calcul à l'aide du connecteur de l'API Google Sheets
Vous pouvez utiliser Connecteur d'API Google Sheets pour créer une feuille de calcul. Workflows utilise le compte de service en tant qu'identité du déclencheur, la feuille de calcul est créée dans le Dossier racine Google Drive. Vous pouvez ensuite déplacer la feuille de calcul .
Dans le workflow suivant, spreadsheetId
est
récupérée à partir du résultat resp
:
YAML
JSON
Remplacez FOLDER_ID
par l'ID du dossier dans lequel
déplacer la feuille de calcul. Chaque dossier Drive possède un
un identifiant, contenant des lettres, des chiffres, des traits d'union ou des traits de soulignement. Vous trouverez
ID du dossier dans l'URL du dossier:
https://drive.google.com/drive/folders/FOLDER_ID/edit#gid=0
Pour en savoir plus, consultez Créer et remplir des dossiers
Le résultat du workflow doit ressembler à ce qui suit, où id
la valeur est spreadsheetId
:
"body": { "id": "spreadsheetId", "kind": "drive#file", "mimeType": "application/vnd.google-apps.spreadsheet", "name": "Untitled spreadsheet" }
Explorer l'ensemble de données public BigQuery
BigQuery héberge un certain nombre d'ensembles de données publics. mis à la disposition du grand public pour effectuer des requêtes.
Dans BigQuery, vous pouvez exécuter tâche de requête interactive (à la demande). Pour exemple, la requête suivante renvoie les 100 noms les plus populaires dans une et écrit la sortie dans une table temporaire. C'est la requête que votre le workflow s'exécute.
Console
Dans la console Google Cloud, accédez à la page BigQuery.
Saisissez la requête SQL BigQuery suivante dans le champ Zone de texte de l'éditeur de requête:
SELECT name, gender, SUM(number) AS total FROM `bigquery-public-data.usa_names.usa_1910_2013` GROUP BY name, gender ORDER BY total DESC LIMIT 100
Cliquez sur Exécuter.
bq
Dans votre terminal, saisissez la commande bq query
suivante pour exécuter une
interactive utilisant la syntaxe SQL standard:
bq query \ --use_legacy_sql=false \ 'SELECT name, gender, SUM(number) AS total FROM `bigquery-public-data.usa_names.usa_1910_2013` GROUP BY name, gender ORDER BY total DESC LIMIT 100'
Déployer un workflow qui écrit dans Sheets
Déployer un workflow qui interroge un ensemble de données BigQuery à l'aide de la Connecteur d'API BigQuery Les résultats sont alors écrits dans une feuille de calcul Sheets Connecteur d'API Google Sheets :
Console
Dans la console Google Cloud, accédez à Workflows :
Cliquez sur
Créer.Saisissez un nom pour le nouveau workflow:
read-bigquery-write-sheets
.Dans la liste Région, sélectionnez us-central1 (Iowa).
Dans le champ Compte de service, sélectionnez la valeur par défaut de Compute Engine. compte de service (
PROJECT_NUMBER-compute@developer.gserviceaccount.com
).Cliquez sur Suivant.
Dans l'éditeur de workflow, saisissez la définition suivante pour votre workflow:
Remplacez la valeur de l'espace réservé
sheetId
par votrespreadsheetId
Cliquez sur Déployer.
gcloud
Créez un fichier de code source pour votre workflow:
touch read-bigquery-write-sheets.yaml
Dans un éditeur de texte, copiez le workflow suivant dans votre fichier de code source:
Remplacez la valeur de l'espace réservé
sheetId
par votrespreadsheetId
Déployez le workflow en saisissant la commande suivante :
gcloud workflows deploy read-bigquery-write-sheets \ --source=read-bigquery-write-sheets.yaml \ --location=us-central1 \ --service-account=PROJECT_NUMBER-compute@developer.gserviceaccount.com
Remplacez
PROJECT_NUMBER
par votre numéro de projet Google Cloud. Vous trouverez le numéro de votre projet dans la Bienvenue de la console Google Cloud.
Exécuter le workflow et vérifier les résultats
L'exécution d'un workflow exécute la définition actuelle du workflow associé au workflow.
Exécutez le workflow comme suit :
Console
Dans Google Cloud Console, accédez à la page Workflows :
Sur la page Workflows, sélectionnez l'icône read-bigquery-write-sheets pour accéder à sa page d'informations.
Sur la page Détails du workflow, cliquez sur play_arrow Exécuter.
Cliquez à nouveau sur Exécuter.
Affichez les résultats du workflow dans le volet Output (Résultat).
La sortie devrait ressembler à ce qui suit :
{ "spreadsheetId": "1pgkNY7mWICA6o6INUNLHGnmk0Tdioh0nUghZPOYPpZA", "updatedCells": 303, "updatedColumns": 3, "updatedRange": "Sheet1!A1:C101", "updatedRows": 101 }
gcloud
Ouvrez un terminal.
Exécutez le workflow :
gcloud workflows run read-bigquery-write-sheets
Les résultats de l'exécution doivent ressembler à ce qui suit:
Waiting for execution [4dcf737b-69d9-4081-b8d9-86d39ae86bd1] to complete...done. argument: 'null' duration: 3.131912897s endTime: '2023-01-25T14:59:46.818828242Z' name: projects/918619793306/locations/us-central1/workflows/read-bigquery-write-sheets/executions/4dcf737b-69d9-4081-b8d9-86d39ae86bd1 result: '{"spreadsheetId":"1pgkNY7mWICA6o6INUNLHGnmk0Tdioh0nUghZPOYPpZA","updatedCells":303,"updatedColumns":3,"updatedRange":"Sheet1!A1:C101","updatedRows":101}' startTime: '2023-01-25T14:59:43.686915345Z' state: SUCCEEDED
Vérifiez que le workflow a écrit les résultats de la requête dans votre feuille de calcul. Par exemple, le nombre de colonnes et de lignes dans la feuille de calcul doit correspondre aux valeurs
updatedColumns
etupdatedRows
.
Étape suivante
- Déclenchez un workflow depuis Google Sheets.
- Mettre en pause et reprendre un workflow à l'aide de rappels et de Google Sheets
- Explorez le Centre de formation Google Workspace.