Google Tabellen ist eine cloudbasierte Tabellenkalkulationslösung, die die Zusammenarbeit in Echtzeit unterstützt und Tools zum Visualisieren, Verarbeiten und Kommunizieren von Daten bietet.
Das folgende Beispiel zeigt, wie Sie aus einem Workflow in Google Tabellen schreiben. Der Workflow fragt ein BigQuery-Dataset ab und schreibt die Ergebnisse in eine Tabelle in Google Tabellen. Sie verwendet Workflow-Connectors, um das Aufrufen von Google Cloud APIs zu vereinfachen.
Mehr erfahren
Bevor Sie das Beispiel in diesem Dokument ausprobieren, müssen Sie Folgendes erledigt haben:
Aktivieren Sie die Compute Engine, Google Drive, Google Tabellen und Workflows APIs.
Console
gcloud
gcloud services enable \ compute.googleapis.com \ drive.googleapis.com \ sheets.googleapis.com \ workflows.googleapis.com
Für neue Projekte, für die die Compute Engine API aktiviert wurde, ist ein Compute Engine-Standarddienstkonto vorhanden, das mit der einfachen IAM-Rolle „Bearbeiter“ und im folgenden E-Mail-Format erstellt wurde:
PROJECT_NUMBER-compute@developer.gserviceaccount.com
Ihre Projektnummer finden Sie auf der Willkommensseite der Google Cloud Console.
Notieren Sie sich dieses Dienstkonto, da es zum Testen der Beispiele in diesem Dokument verwendet wird.
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, kann Ihr Workflow in die Tabelle schreiben.
- Öffnen Sie drive.google.com.
- 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 für das Compute Engine-Standarddienstkonto hinzu.
Dadurch erhält das Dienstkonto Zugriff auf den Ordner. Wenn Sie das Dienstkonto mit Ihrem Workflow verknüpfen, erhält der Workflow Bearbeitungszugriff auf jede Datei im Ordner. Weitere Informationen zur Freigabe von Dateien, Ordnern und Ablagen
Wählen Sie die Rolle Bearbeiter aus.
Entfernen Sie das Häkchen aus dem Kästchen Personen benachrichtigen.
Klicken Sie auf Freigeben.
Tabellen erstellen
Sie haben folgende Möglichkeiten, eine Tabelle zu erstellen:
Es gibt keine Möglichkeit, mit der Google Sheets API eine Tabelle direkt in einem bestimmten Ordner zu erstellen. Sie können die Tabelle jedoch auch nach dem Erstellen in einen bestimmten Ordner verschieben, wie in den folgenden Beispielen gezeigt. Weitere Informationen finden Sie unter Mit Google Drive-Ordnern arbeiten.
Eine Tabelle mit Google Tabellen erstellen
Wenn Sie eine Tabelle mit Google Tabellen erstellen, wird sie in Google Drive gespeichert. Standardmäßig wird die Tabelle im Stammordner von Google Drive gespeichert.
Rufen Sie sheets.google.com auf.
Klicken Sie auf Neu .
Dadurch wird eine neue Tabelle erstellt und geöffnet. Jede Tabelle hat einen eindeutigen
spreadsheetId
-Wert, der Buchstaben, Ziffern, Bindestriche oder Unterstriche enthält. Sie finden die Tabellen-ID in der Google Tabellen-URL:https://docs.google.com/spreadsheets/d/spreadsheetId/edit#gid=0
Notieren Sie sich diese ID, da sie beim Erstellen des Workflows benötigt wird.
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.
Tabellen mit dem Google Sheets API-Connector erstellen
Sie können zum Erstellen einer Tabelle den Google Sheets API-Connector verwenden. Da Workflows das Dienstkonto als Triggeridentität verwenden, wird die Tabelle im Google Drive-Stammordner des Dienstkontos erstellt. Anschließend können Sie die Tabelle in einen anderen Ordner verschieben.
Im folgenden Workflow wird 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. Die Ordner-ID finden Sie in der Ordner-URL:
https://drive.google.com/drive/folders/FOLDER_ID/edit#gid=0
Weitere Informationen finden Sie unter Ordner erstellen und mit Daten füllen.
Die Ausgabe des Workflows sollte in etwa so aussehen, wobei der Wert id
der Wert spreadsheetId
ist:
"body": { "id": "spreadsheetId", "kind": "drive#file", "mimeType": "application/vnd.google-apps.spreadsheet", "name": "Untitled spreadsheet" }
Öffentliches BigQuery-Dataset untersuchen
BigQuery hostet eine Reihe von öffentlichen Datasets, die von der Allgemeinheit abgefragt werden können.
In BigQuery können Sie einen interaktiven (On-Demand-)Abfragejob ausführen. Die folgende Abfrage gibt beispielsweise die 100 beliebtesten Namen in einem bestimmten Dataset zurück und schreibt die Ausgabe in eine temporäre Tabelle. Das ist die Abfrage, die Ihr Workflow ausführt.
Console
Öffnen Sie in der Google Cloud Console die Seite BigQuery.
Geben Sie die folgende BigQuery-SQL-Abfrage in den Textbereich des Abfrageeditors ein:
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 in Ihrem Terminal den folgenden bq query
-Befehl ein, um eine interaktive Abfrage mit der Standard-SQL-Syntax 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 für das Schreiben in Google Tabellen bereitstellen
Stellen Sie einen Workflow bereit, mit dem ein BigQuery-Dataset mit dem BigQuery API-Connector abgefragt und die Ergebnisse mit dem Google Sheets API-Connector in eine Google Tabellen-Tabelle geschrieben werden.
Console
Rufen Sie in der Google Cloud Console die Seite Workflows auf:
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 Next (Weiter).
Geben Sie im Workflow-Editor die folgende Definition für den Workflow ein:
Ersetzen Sie den Platzhalterwert
sheetId
durch IhrenspreadsheetId
-Wert.Klicken Sie auf Bereitstellen.
gcloud
Erstellen Sie eine Quellcodedatei für Ihren Workflow:
touch read-bigquery-write-sheets.yaml
Kopieren Sie in einem Texteditor den folgenden Workflow in Ihre Quellcodedatei:
Ersetzen Sie den Platzhalterwert
sheetId
durch IhrenspreadsheetId
-Wert.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. Ihre Projektnummer finden Sie 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 zugehörige Detailseite aufzurufen.
Klicken Sie auf der Seite Workflowdetails 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 Ihre Tabelle geschrieben hat. Beispielsweise sollte die Anzahl der Spalten und Zeilen in der Tabelle mit den Werten
updatedColumns
undupdatedRows
übereinstimmen.
Nächste Schritte
- Einen Workflow in Google Tabellen auslösen
- Workflow mit Callbacks und Google Tabellen pausieren und fortsetzen
- Google Workspace-Schulungscenter