Google Tabellen ist eine cloudbasierte Tabellenlösung, die die Zusammenarbeit in Echtzeit unterstützt und Tools zur Visualisierung, Verarbeitung und Kommunikation von Daten bietet.
In dieser Anleitung wird gezeigt, wie Sie in Google Tabellen Workflows auslösen.
Lernziele
In dieser Anleitung wird Folgendes beschrieben:
- Mit Google Formulare, einer cloudbasierten Lösung für Fragebogen und Umfragen, können Sie ein Formular erstellen, über das Anfragen zum Erstellen von VM-Instanzen gesendet werden können.
- Verknüpfen Sie eine Google-Tabelle mit dem Formular, um alle Antworten zu erfassen und zu speichern.
- Verwenden Sie Google Apps Script, eine cloudbasierte JavaScript-Plattform, mit der Sie Google Workspace-Produkte programmatisch erstellen, lesen und bearbeiten können. Dadurch wird immer dann ein Workflow ausgelöst, wenn eine Anfrage durch eine Aktualisierung der Tabelle genehmigt wird.
- Stellen Sie einen Workflow bereit, der den Compute Engine API-Connector aufruft und anhand der im Formular erfassten Spezifikationen eine Compute Engine-VM-Instanz erstellt. Connectors vereinfachen das Aufrufen anderer Google Cloud APIs. Weitere Informationen zu Workflows-Connectors
- Testen Sie den gesamten Prozess und prüfen Sie, ob eine VM-Instanz wie erwartet erstellt wird.
Kosten
In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:
Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen.
In dieser Anleitung wird auch Google Workspace verwendet. Geschäftsdienste, die nicht in den kostenlosen Google-Apps für Nutzer enthalten sind, sind kostenpflichtig.
Hinweise
Sie können einige der folgenden Befehle in der Google Cloud Console oder über die Google Cloud CLI in Ihrem Terminal oder in Cloud Shell ausführen.
Von Ihrer Organisation definierte Sicherheitsbeschränkungen verhindern möglicherweise, dass die folgenden Schritte ausgeführt werden. Informationen zur Fehlerbehebung finden Sie unter Anwendungen in einer eingeschränkten Google Cloud-Umgebung entwickeln.
Console
Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für ein Projekt aktiviert ist.
Aktivieren Sie die Compute Engine und Workflows APIs.
Notieren Sie sich das Compute Engine-Standarddienstkonto, da Sie es zu Testzwecken mit dem Workflow in dieser Anleitung verknüpfen. Dieses Dienstkonto wird in neuen Projekten mit aktivierter Compute Engine API mit der einfachen IAM-Rolle „Bearbeiter“ und im folgenden E-Mail-Format erstellt:
PROJECT_NUMBER-compute@developer.gserviceaccount.com
Sie finden Ihre Projektnummer in der Google Cloud Console auf der Willkommensseite.
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 Prinzip der geringsten Berechtigung folgen.
gcloud
Aktivieren Sie Cloud Shell in der Google Cloud Console.
Unten in der Google Cloud Console wird eine Cloud Shell-Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung, in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für ein Projekt aktiviert ist.
Aktivieren Sie die Compute Engine und Workflows APIs.
gcloud services enable \ compute.googleapis.com \ workflows.googleapis.com
Notieren Sie sich das Compute Engine-Standarddienstkonto, da Sie es zu Testzwecken mit dem Workflow in dieser Anleitung verknüpfen. Dieses Dienstkonto wird in neuen Projekten mit aktivierter Compute Engine API mit der einfachen IAM-Rolle „Bearbeiter“ und im folgenden E-Mail-Format erstellt:
PROJECT_NUMBER-compute@developer.gserviceaccount.com
So 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 Prinzip der geringsten Berechtigung folgen.
Formular zum Anfordern von VM-Instanzen erstellen
Erstellen Sie ein Formular, mit dem eine Anfrage zum Erstellen einer Compute Engine-VM-Instanz gesendet werden kann. Wenn Sie ein Formular über Google Formulare erstellen, wird es standardmäßig in Google Drive gespeichert.
- Rufen Sie forms.google.com auf.
- Klicken Sie auf Leer
.
Ein neues Formular wird geöffnet.
- Erstellen Sie ein Formular mit fünf Pflichtfeldern. Das Formular sollte in etwa so aussehen:
Beispielformular ansehen
Computername Kurzantworttext
Zone Drop-down-Menü:
- us-central1-a
- us-central1-b
- us-central1-c
- us-central1-f
Typ Drop-down-Menü:
- e2-micro
- e2-small
- e2-medium
- e2‑standard‑2
- e2-standard-4
Laufwerksgröße (GB) Kurzantworttext
Betriebssystem Drop-down-Menü:
- debian-10
- Centos-Stream-9
- COS-93-LTS
- COS-97-LTS
- Aktivieren Sie die Erfassung von E-Mail-Adressen, um die E-Mail-Adressen der Personen zu erfassen, die Ihr Formular ausfüllen:
- Klicken Sie auf Einstellungen.
- Maximieren Sie den Bereich Responses (Antworten).
- Klicken Sie auf die Ein/Aus-Schaltfläche E-Mail-Adressen erfassen.
Tabelle mit Formular verknüpfen
Nachdem Sie ein Formular erstellt haben, verknüpfen Sie eine Tabelle damit, sodass Sie die Formularantworten in dieser Tabelle speichern können. Die Tabelle wird in Google Drive gespeichert.
- Öffnen Sie Ihr Formular in Google Formulare.
- Klicken Sie auf Antworten.
- Klicken Sie auf Mit Google Tabellen verknüpfen.
- Wählen Sie im Dialogfeld Ziel für Antworten auswählen die Option Neue Tabelle erstellen aus.
Klicken Sie auf Erstellen.
Die verknüpfte Tabelle wird geöffnet.
Fügen Sie in Spalte H die Überschrift Genehmigt? ein.
Bewegen Sie den Mauszeiger in die erste Zeile von Spalte H und wählen Sie Einfügen > Kästchen aus.
Die Tabelle sollte in etwa so aussehen:
Jedes Mal, wenn das Tabellenblatt mit einer Antwort aktualisiert wird, wird das Kästchen auch in der Zeile für diese Antwort angezeigt.
Google Tabellen mit Apps Script erweitern
Mit Apps Script können Sie Tabellen programmatisch erstellen, lesen und bearbeiten. In den meisten für Google Tabellen entwickelten Skripts werden Arrays so bearbeitet, dass sie mit den Zellen, Zeilen und Spalten in einer Tabelle interagieren. Eine Einführung zur Verwendung von Apps Script mit Google Tabellen finden Sie in der Kurzanleitung für benutzerdefinierte Funktionen.
So erstellen Sie ein Apps Script-Projekt über Google Tabellen:
- Öffnen Sie Ihre Tabelle in Google Tabellen.
- Wählen Sie Erweiterungen > Apps Script aus.
- Klicken Sie im Skripteditor auf Unbenanntes Projekt.
- Geben Sie Ihrem Projekt einen Namen und klicken Sie auf Umbenennen.
Das Skript ist jetzt an Ihre Tabelle gebunden. Dadurch kann das Skript die Benutzeroberfläche ändern oder beim Öffnen der Tabelle antworten.
Ein Skriptprojekt ist eine Sammlung von Apps Script-Dateien und -Ressourcen. Codedateien in einem Skriptprojekt haben die Erweiterung
.gs
.Mit Apps Script können Sie benutzerdefinierte Funktionen schreiben, die Sie in Google Tabellen wie eine integrierte Funktion verwenden können. Benutzerdefinierte Funktionen werden mit Standard-JavaScript erstellt. Erstellen Sie eine Funktion:
- Öffnen Sie Ihr Apps Script-Projekt.
- Klicken Sie auf Bearbeiter .
- Eine Skriptdatei wird als Projektdatei mit dem Namen
Code.gs
angezeigt. Wählen Sie die Datei aus, um sie zu bearbeiten. Ersetzen Sie jeden Code im Skripteditor durch den folgenden Code, der die Daten in Ihrer Tabelle liest und als Eingabe an eine Workflowausführung übergibt:
Ersetzen Sie
your-project-id
durch Ihre Google Cloud-Projekt-ID.Sie finden Ihre Projekt-ID auf der Willkommensseite der Google Cloud Console.
Klicken Sie auf „Speichern“
.
Mit installierbaren Triggern von Apps Script kann ein Skriptprojekt eine bestimmte Funktion ausführen, wenn bestimmte Bedingungen erfüllt sind, z. B. wenn eine Tabelle geöffnet oder bearbeitet wird. Erstellen Sie einen Trigger:
- Öffnen Sie Ihr Apps Script-Projekt.
- Klicken Sie auf Trigger .
- Klicken Sie auf Trigger hinzufügen.
- Konfigurieren Sie im Dialogfeld Trigger für IHR_PROJEKTNAME hinzufügen den Trigger:
- Wählen Sie in der Liste Auswählen, welche Funktion ausgeführt werden soll die Option handleEdit aus.
- Wählen Sie in der Liste Auswählen, welche Bereitstellung ausgeführt werden soll die Option Head aus.
- Wählen Sie in der Liste Ereignisquelle auswählen die Option Aus Tabelle aus.
- Wählen Sie in der Liste Ereignistyp auswählen die Option Beim Bearbeiten aus.
- Wählen Sie in der Liste Benachrichtigungseinstellungen bei Fehlern die Option Täglich benachrichtigen aus.
- Klicken Sie auf Speichern.
Wenn Sie aufgefordert werden, ein Google-Konto auszuwählen, wählen Sie das entsprechende Konto aus und klicken Sie auf Zulassen.
Dadurch kann Ihr Apps Script-Projekt Ihre Tabellen-Tabellen aufrufen, bearbeiten, erstellen und löschen und eine Verbindung zu einem externen Dienst herstellen.
Eine Manifestdatei eines Apps Script-Projekts ist eine JSON-Datei mit grundlegenden Projektinformationen, die Apps Script benötigt, um ein Skript erfolgreich auszuführen. Der Apps Script-Editor blendet Manifestdateien standardmäßig aus, um Ihre Apps Script-Projekteinstellungen zu schützen. Bearbeiten Sie die Manifestdatei:
- Öffnen Sie Ihr Apps Script-Projekt.
- Klicken Sie auf Projekteinstellungen .
- Klicken Sie das Kästchen Manifestdatei „appsscript.json“ im Editor anzeigen an.
- Klicken Sie auf Bearbeiter .
- Die Manifestdatei wird als Projektdatei mit dem Namen
appsscript.json
angezeigt. Wählen Sie die Datei aus, um sie zu bearbeiten. Das Feld
oauthScopes
gibt ein Array von Strings an. Fügen Sie zum Festlegen der von Ihrem Projekt verwendeten Autorisierungsbereiche ein Array mit den Bereichen hinzu, die unterstützt werden sollen. Beispiel:{ "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" ] }
.Dadurch werden explizite Bereiche festgelegt auf:
- Verbindung mit externem Dienst herstellen
- Google Cloud-Daten abrufen, bearbeiten, konfigurieren und löschen sowie die E-Mail-Adresse Ihres Google-Kontos sehen
- Alle Ihre Tabellen aufrufen, bearbeiten, erstellen oder löschen
Klicken Sie auf „Speichern“
.
Workflow zum Erstellen einer VM-Instanz bereitstellen
Stellen Sie einen Workflow bereit, der ausgelöst wird, wenn eine Anfrage zum Erstellen einer VM-Instanz genehmigt wird. Der Workflow ruft den Compute Engine API-Connector auf, um anhand der im Formular erfassten Spezifikationen eine Compute Engine-VM-Instanz zu erstellen.
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:
create-vm-from-form
.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:
Klicken Sie auf Bereitstellen.
gcloud
Erstellen Sie eine Quellcodedatei für Ihren Workflow:
touch create-vm-from-form.yaml
Kopieren Sie in einem Texteditor den folgenden Workflow in Ihre Quellcodedatei:
Stellen Sie den Workflow bereit. Geben Sie hierzu den folgenden Befehl ein:
gcloud workflows deploy create-vm-from-form \ --source=create-vm-from-form.yaml \ --location=us-central1 \ --service-account=PROJECT_NUMBER-compute@developer.gserviceaccount.com
Ersetzen Sie
PROJECT_NUMBER
durch Ihre Google Cloud-Projektnummer. So rufen Sie Ihre Projektnummer ab:gcloud projects describe PROJECT_ID
End-to-End-Ablauf testen
Um sicherzustellen, dass alles wie erwartet funktioniert, versuchen Sie, den gesamten Prozess zu durchlaufen.
Senden Sie das Formular an sich selbst und beantworten Sie die Fragen richtig.
Achten Sie darauf, dass die Spezifikationen, die Sie zum Erstellen einer VM-Instanz verwenden, gültig sind. Andernfalls schlägt die Workflowausführung fehl. Weitere Informationen finden Sie unter Compute Engine-Maschinenfamilie für allgemeine Zwecke.
Klicken Sie auf Senden, um Ihre Antwort zu senden.
Öffnen Sie Ihr Formular in Google Formulare.
Klicken Sie auf Antworten.
Klicken Sie auf In Google Tabellen ansehen.
Die verknüpfte Tabelle wird geöffnet.
Klicken Sie in der Zeile für Ihre Antwort das Kästchen Genehmigt? an.
Öffnen Sie Ihr Apps Script-Projekt.
Klicken Sie auf Ausführungen
.Der Trigger sollte ausgeführt und mit dem Status
Completed
aufgeführt werden.Prüfen Sie, ob der
create-vm-from-form
-Workflow erfolgreich abgeschlossen wurde:Console
Öffnen Sie in der Google Cloud Console die Seite Workflows.
Klicken Sie auf der Seite Workflows auf den Workflow create-vm-from-form, um die zugehörige Detailseite aufzurufen.
Klicken Sie auf der Seite Workflowdetails auf die entsprechende Ausführungs-ID, um die Details für eine bestimmte Ausführung abzurufen.
Der Ausführungsstatus sollte Erfolgreich lauten. Im Eingabebereich sollten die angeforderten VM-Spezifikationen angezeigt werden.
gcloud
Rufen Sie eine Liste der Ausführungsversuche Ihres Workflows ab:
gcloud workflows executions list create-vm-from-form
Das Ergebnis sollte in etwa so aussehen:
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
Prüfen Sie, ob wie erwartet eine neue VM erstellt wurde:
Console
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.
Ihre VM-Instanz sollte mit einem Status aufgeführt sein, der angibt, dass sie ausgeführt wird.
gcloud
Rufen Sie eine zusammengefasste Liste aller VMs in allen Zonen für ein Projekt ab:
gcloud compute instances list
Ihre VM-Instanz sollte mit einem Status aufgeführt sein, der angibt, dass sie ausgeführt wird.
Weitere Informationen zum Befehl
gcloud compute instances list
finden Sie auf der zugehörigen Referenzseite.
Bereinigen
Wenn Sie ein neues Projekt für diese Anleitung erstellt haben, löschen Sie das Projekt. Wenn Sie ein vorhandenes Projekt verwendet haben und es beibehalten möchten, ohne die Änderungen in dieser Anleitung hinzuzufügen, löschen Sie die für die Anleitung erstellten Ressourcen.
Projekt löschen
Am einfachsten vermeiden Sie weitere Kosten durch Löschen des für die Anleitung erstellten Projekts.
So löschen Sie das Projekt:
- Wechseln Sie in der Google Cloud Console zur Seite Ressourcen verwalten.
- Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
- Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.