Google Tabellen ist eine cloudbasierte Tabellenkalkulationslösung, die die Zusammenarbeit in Echtzeit unterstützt und Tools für die zum Visualisieren, Verarbeiten und Kommunizieren von Daten.
Das folgende Beispiel zeigt, wie aus einem Workflow in Google Tabellen geschrieben wird. Der Workflow fragt ein BigQuery-Dataset ab und schreibt die Ergebnisse in eine Google Tabellen-Tabelle. Dabei werden Workflows-Connectors verwendet, um den Aufruf von Google Cloud APIs zu vereinfachen.
Hinweise
Bevor Sie das Beispiel in diesem Dokument testen, vergewissern Sie sich, dass Sie Folgendes:
Aktivieren Sie die Compute Engine API, die Google Drive API, die Google Tabellen API und die Workflows API.
Console
gcloud
gcloud services enable \ compute.googleapis.com \ drive.googleapis.com \ sheets.googleapis.com \ workflows.googleapis.com
Notieren Sie sich die Compute Engine-Standarddienstkonto Dienstkonto, da Sie es mit dem Beispiel-Workflow für Tests verknüpfen zu verstehen. Neue Projekte, für die die Compute Engine API aktiviert ist, Dienstkonto mit der einfachen IAM-Rolle „Bearbeiter“ erstellt, und mit folgendem E-Mail-Format:
PROJECT_NUMBER-compute@developer.gserviceaccount.com
Ihre Projektnummer finden Sie auf der Willkommen Seite der Google Cloud Console oder rufen Sie Ihre Projektnummer ab:
gcloud projects describe PROJECT_ID
Für Produktionsumgebungen empfehlen wir dringend, ein neues Dienstkonto zu erstellen und ihm eine oder mehrere IAM-Rollen zuzuweisen, die die erforderlichen Mindestberechtigungen enthalten und dem Grundsatz der geringsten Berechtigung folgen.
Erstellen Sie einen neuen Ordner in Google Drive. In diesem Ordner wird Ihre Tabelle gespeichert. Wenn Sie eine Berechtigung für den freigegebenen Ordner einrichten, in die Tabelle schreiben darf.
- Rufen Sie drive.google.com auf.
- Klicken Sie auf Neu > Neuer Ordner.
- Geben Sie einen Namen für den Ordner ein.
- Klicken Sie auf Erstellen.
- Klicken Sie mit der rechten Maustaste auf den neuen Ordner und wählen Sie Freigeben aus.
Fügen Sie die E-Mail-Adresse des standardmäßigen Compute Engine-Dienstkontos hinzu.
Dadurch erhält das Dienstkonto Zugriff auf den Ordner. Wenn Sie das Dienstkonto mit Ihrem Workflow verknüpfen, hat der Workflow Bearbeitungszugriff auf alle Dateien im Ordner. Weitere Informationen zum Freigeben von Dateien, Ordnern und Google Drive.
Wählen Sie die Rolle Bearbeiter aus.
Entfernen Sie das Häkchen aus dem Kästchen Personen benachrichtigen.
Klicken Sie auf Freigeben.
Tabelle erstellen
Sie haben folgende Möglichkeiten, eine Tabelle zu erstellen:
Mit der Google Tabellen API können Sie keine Tabelle direkt in einem bestimmten Ordner erstellen. Es gibt jedoch Alternativen, z. B. die Möglichkeit, die Tabelle nach dem Erstellen in einen bestimmten Ordner zu verschieben, wie in den folgenden Beispielen gezeigt. Weitere Informationen finden Sie unter Mit Google Drive-Ordnern arbeiten
Tabellen mit Google Tabellen erstellen
Tabellen, die Sie über Google Tabellen erstellen, Google Drive Standardmäßig wird die Tabelle im Stammordner der Drive
Rufen Sie sheets.google.com auf.
Klicken Sie auf Neu .
Dadurch wird eine neue Tabelle erstellt und geöffnet. Jede Tabelle hat eine eindeutige
spreadsheetId
Wert, Buchstaben, Ziffern, Bindestriche oder Unterstriche enthalten. Sie finden die Tabellen-ID in einer Google Sheets-URL:https://docs.google.com/spreadsheets/d/spreadsheetId/edit#gid=0
Notieren Sie sich diese ID, da Sie sie beim Erstellen des Workflows benötigen.
Verschieben Sie die Tabelle in den zuvor erstellten Google Drive-Ordner:
- Wählen Sie in der Tabelle Datei > Verschieben aus.
- Gehen Sie zu dem Ordner, den Sie erstellt haben.
- Klicken Sie auf Verschieben.
Tabelle mit dem Google Sheets API-Connector erstellen
Sie können die Google Sheets API-Connector um eine Tabelle zu erstellen. Da Workflows das Dienstkonto verwendet Triggeridentität verwenden, wird die Tabelle im Google Drive-Stammordner. Sie können die Tabelle dann in eine andere Ordner.
Im folgenden Workflow wird die spreadsheetId
aus dem resp
-Ergebnis abgerufen:
YAML
JSON
Ersetzen Sie FOLDER_ID
durch die ID des Ordners, in den Sie
die Tabelle verschieben möchten. Jeder Drive-Ordner hat eine eindeutige
ID, die Buchstaben, Ziffern, Bindestriche oder Unterstriche enthält. Sie finden die
Ordner-ID in der Ordner-URL:
https://drive.google.com/drive/folders/FOLDER_ID/edit#gid=0
Weitere Informationen finden Sie unter Ordner erstellen und befüllen
Die Ausgabe des Workflows sollte in etwa so aussehen, wobei id
Wert ist spreadsheetId
:
"body": { "id": "spreadsheetId", "kind": "drive#file", "mimeType": "application/vnd.google-apps.spreadsheet", "name": "Untitled spreadsheet" }
Öffentliches BigQuery-Dataset untersuchen
BigQuery hostet eine Reihe öffentlicher Datasets. die der Allgemeinheit zur Abfrage verfügbar sind.
In BigQuery können Sie einen interaktiven (On-Demand) Abfragejob ausführen. Für Beispiel: Die folgende Abfrage gibt die 100 beliebtesten Namen in einer bestimmten Dataset und schreibt die Ausgabe in eine temporäre Tabelle. Dies ist die Abfrage, die für Ihren Workflow ausgeführt wird.
Console
Öffnen Sie in der Google Cloud Console die Seite BigQuery.
Geben Sie die folgende BigQuery-SQL-Abfrage in den Textbereich des Abfrageeditors:
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
Klicken Sie auf Ausführen.
bq
Geben Sie im Terminal den folgenden bq query
-Befehl ein, um mit der Standard-SQL-Syntax eine interaktive Abfrage auszuführen:
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'
Workflow bereitstellen, der in Google Tabellen schreibt
Einen Workflow bereitstellen, der ein BigQuery-Dataset mit dem BigQuery API-Connector abfragt und die Ergebnisse mit dem Google Tabellen API-Connector in eine Google Tabellen-Tabelle schreibt.
Console
Öffnen Sie in der Google Cloud Console die Seite Workflows.
Klicken Sie auf
Erstellen.Geben Sie einen Namen für den neuen Workflow ein:
read-bigquery-write-sheets
.Wählen Sie in der Liste Region die Option us-central1 (Iowa) aus.
Wählen Sie als Dienstkonto das Compute Engine-Standarddienstkonto (
PROJECT_NUMBER-compute@developer.gserviceaccount.com
) aus.Klicken Sie auf Weiter.
Geben Sie im Workflow-Editor die folgende Definition für den Workflow ein:
Ersetzen Sie den Platzhalterwert
sheetId
durch IhrenspreadsheetId
.Klicken Sie auf Bereitstellen.
gcloud
Erstellen Sie eine Quellcodedatei für Ihren Workflow:
touch read-bigquery-write-sheets.yaml
Kopieren Sie den folgenden Workflow in einen Texteditor und fügen Sie ihn in die Quellcodedatei ein:
Ersetzen Sie den Platzhalterwert
sheetId
durch IhrenspreadsheetId
.Stellen Sie den Workflow bereit. Geben Sie hierzu den folgenden Befehl ein:
gcloud workflows deploy read-bigquery-write-sheets \ --source=read-bigquery-write-sheets.yaml \ --location=us-central1 \ --service-account=PROJECT_NUMBER-compute@developer.gserviceaccount.com
Ersetzen Sie
PROJECT_NUMBER
durch Ihre Google Cloud-Projektnummer. Sie finden Ihre Projektnummer auf der Willkommensseite der Google Cloud Console.
Workflow ausführen und Ergebnisse überprüfen
Bei der Ausführung eines Workflows wird die aktuelle Workflowdefinition ausgeführt, die dem Workflow zugeordnet ist.
Führen Sie den Workflow aus:
Console
Öffnen Sie in der Google Cloud Console die Seite Workflows.
Wählen Sie auf der Seite Workflows den Workflow read-bigquery-write-sheets aus, um die Detailseite aufzurufen.
Klicken Sie auf der Seite Workflow-Details auf play_arrow Ausführen.
Klicken Sie noch einmal auf Ausführen.
Sehen Sie sich die Ergebnisse des Workflows im Bereich Ausgabe an.
Die Ausgabe sollte in etwa so aussehen:
{ "spreadsheetId": "1pgkNY7mWICA6o6INUNLHGnmk0Tdioh0nUghZPOYPpZA", "updatedCells": 303, "updatedColumns": 3, "updatedRange": "Sheet1!A1:C101", "updatedRows": 101 }
gcloud
Öffnen Sie ein Terminalfenster.
Führen Sie den Workflow aus:
gcloud workflows run read-bigquery-write-sheets
Die Ausführungsergebnisse sollten in etwa so aussehen:
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
Prüfen Sie, ob der Workflow die Ergebnisse der Abfrage in Ihren Tabelle. Die Anzahl der Spalten und Zeilen in der Tabelle sollte beispielsweise mit den Werten
updatedColumns
undupdatedRows
übereinstimmen.
Nächste Schritte
- Workflow aus Google Tabellen auslösen
- Workflows mithilfe von Callbacks und Google Tabellen anhalten und fortsetzen
- Google Workspace-Schulungscenter