Workflows mithilfe von Callbacks und Google Tabellen pausieren und fortsetzen


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 einen Workflow erstellen und bereitstellen, der einen Callback-Endpunkt (oder Webhook) erstellt, die Callback-URL in Google Tabellen speichert, die Ausführung unterbricht und dann auf die Genehmigung durch die Google Tabellen-Tabelle wartet, um den Workflow neu zu starten. Weitere Informationen zur Verwendung von Callbacks

Lernziele

In dieser Anleitung wird Folgendes beschrieben:

  1. Erstellen Sie einen neuen Ordner in Google Drive. Dieser Ordner wird zum Speichern Ihrer Tabelle verwendet und ermöglicht es dem Workflow, in die Tabelle zu schreiben.
  2. Erstellen Sie eine Google Tabellen-Tabelle, um eine Genehmigung einzuholen und einen Callback an einen Workflow zu initiieren.
  3. Verwenden Sie Google Apps Script, eine cloudbasierte JavaScript-Plattform, mit der Sie Google Workspace-Produkte programmatisch erstellen, lesen und bearbeiten können. Dadurch wird die Wiederaufnahme eines pausierten Workflows ausgelöst, sobald eine Anfrage durch eine Aktualisierung der Tabelle genehmigt wird.
  4. Erstellen Sie einen Workflow und stellen Sie ihn bereit, um den Google Sheets API-Connector aufzurufen und Daten an die Tabelle anzuhängen. Der Workflow wird ausgeführt, pausiert und fortgesetzt, wenn ein Callback durch die Tabelle genehmigt wurde. Weitere Informationen zu Workflows-Connectors
  5. Testen Sie den gesamten Prozess und bestätigen Sie, dass der Workflow wie erwartet verläuft.

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. Neuen Google Cloud-Nutzern steht möglicherweise eine kostenlose Testversion zur Verfügung.

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

  1. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  2. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für ein Projekt aktiviert ist.

  3. Aktivieren Sie die Compute Engine API, die Tabellen API und die Workflows API.

    Aktivieren Sie die APIs

  4. 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

  1. Aktivieren Sie Cloud Shell in der Google Cloud Console.

    Cloud Shell aktivieren

    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.

  2. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für ein Projekt aktiviert ist.

  3. Aktivieren Sie die Compute Engine API, die Tabellen API und die Workflows API.

    gcloud services enable \
        compute.googleapis.com \
        sheets.googleapis.com \
        workflows.googleapis.com
    
  4. 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.

Neuen Ordner in Google Drive erstellen

Erstellen Sie einen neuen Ordner in Google Drive. In diesem Ordner wird Ihre Tabelle gespeichert. Durch das Einrichten einer Berechtigung für den freigegebenen Ordner kann Ihr Workflow in die Tabelle schreiben.

  1. Öffnen Sie drive.google.com.
  2. Klicken Sie auf Neu > Neuer Ordner.
  3. Geben Sie einen Namen für den Ordner ein.
  4. Klicken Sie auf Erstellen.
  5. Klicken Sie mit der rechten Maustaste auf den neuen Ordner und wählen Sie Freigeben aus.
  6. 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, hat der Workflow Bearbeitungszugriff auf jede Datei im Ordner. Weitere Informationen zum Freigeben von Dateien, Ordnern und Ablagen

  7. Wählen Sie die Rolle Bearbeiter aus.

  8. Entfernen Sie das Häkchen aus dem Kästchen Personen benachrichtigen.

  9. Klicken Sie auf Freigeben.

Tabellen mit Google Tabellen erstellen

Wenn Sie eine Tabelle über Google Tabellen erstellen, wird sie in Google Drive gespeichert. Die Tabelle wird standardmäßig im Stammordner von Google Drive gespeichert. Es gibt keine Option, mit der Google Sheets API eine Tabelle direkt in einem bestimmten Ordner zu erstellen. Es gibt jedoch Alternativen, wie z. B. das Verschieben der Tabelle in einen bestimmten Ordner, nachdem Sie sie erstellt haben, wie in diesem Beispiel dargestellt. Weitere Informationen finden Sie unter Mit Google Drive-Ordnern arbeiten.

  1. Rufen Sie sheets.google.com auf.

  2. Klicken Sie auf Neu Plus.

    Dadurch wird eine neue Tabelle erstellt und geöffnet. Jede Tabelle hat einen eindeutigen spreadsheetId-Wert, der Buchstaben, Ziffern, Bindestriche oder Unterstriche enthält. Die Tabellen-ID finden Sie in einer Google Tabellen-URL:

    https://docs.google.com/spreadsheets/d/spreadsheetId/edit#gid=0

  3. Notieren Sie sich diese ID, da sie beim Erstellen des Workflows benötigt wird.

  4. Fügen Sie Spaltenüberschriften hinzu, die dem folgenden Beispiel entsprechen:

    Beispiel für eine Tabelle zum Erfassen von Genehmigungen

    Der Wert Genehmigt? in Spalte G wird zum Initiieren von Callbacks im Workflow verwendet.

  5. Verschieben Sie die Tabelle in den zuvor erstellten Google Drive-Ordner:

    1. Wählen Sie in der Tabelle Datei > Verschieben aus.
    2. Gehen Sie zu dem Ordner, den Sie erstellt haben.
    3. Klicken Sie auf Verschieben.

Sie können auch den Google Sheets API-Connector verwenden, um eine Tabelle zu erstellen. Bei Verwendung des Connectors kann spreadsheetId aus dem resp-Ergebnis abgerufen werden. Beispiel:

- create_spreadsheet:
    call: googleapis.sheets.v4.spreadsheets.create
    args:
      body:
      connector_params:
        scopes: ${driveScope}
    result: resp
- assign_sheet_id:
    assign:
      - sheetId: ${resp.spreadsheetId}

Google Tabellen mit Apps Script erweitern

Mit Apps Script können Sie Google-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.

  1. So erstellen Sie ein Apps Script-Projekt über Google Tabellen:

    1. Öffnen Sie Ihre Tabelle in Google Tabellen.
    2. Wählen Sie Erweiterungen > Apps Script aus.
    3. Klicken Sie im Skripteditor auf Unbenanntes Projekt.
    4. 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 reagieren.

    Ein Skriptprojekt ist eine Sammlung von Apps Script-Dateien und -Ressourcen. Codedateien in einem Skriptprojekt haben die Erweiterung .gs.

  2. 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:

    1. Öffnen Sie Ihr Apps Script-Projekt.
    2. Klicken Sie auf Bearbeiter .
    3. Eine Skriptdatei wird als Projektdatei mit dem Namen Code.gs angezeigt. Wählen Sie die Datei aus, um sie zu bearbeiten.
    4. 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:

      function handleEdit(e) {
        var range = e.range.getA1Notation();
        var sheet = e.source;
      
        if (range.length > 1 && range[0] === 'G') {
          if (e.value == "TRUE") {
            Logger.log("Approved: TRUE");
      
            var row = range.slice(1);
            var url = sheet.getRange('E' + row).getCell(1, 1).getValue();
            var approver = sheet.getRange('F' + row).getCell(1, 1).getValue();
      
            callback(url, approver);
          }
          else {
            Logger.log("Approved: FALSE");
          }
        }
      }
      
      function callback(url, approver) {
        const headers = {
          "Authorization": "Bearer " + ScriptApp.getOAuthToken()
        };
      
        var payload = {
          'approver': approver
        };
      
        const params = {
          "method": 'POST',
          "contentType": 'application/json',
          "headers": headers,
          "payload": JSON.stringify(payload)
        };
      
      
        Logger.log("Workflow callback request to " + url);
        var response = UrlFetchApp.fetch(url, params);
        Logger.log(response);
      }
    5. Klicken Sie auf „Speichern“ .

  3. 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:

    1. Öffnen Sie Ihr Apps Script-Projekt.
    2. Klicken Sie auf Trigger .
    3. Klicken Sie auf Trigger hinzufügen.
    4. Konfigurieren Sie im Dialogfeld Trigger für IHR_PROJEKTNAME hinzufügen den Trigger:
      1. Wählen Sie in der Liste Auswählen, welche Funktion ausgeführt werden soll die Option handleEdit aus.
      2. Wählen Sie in der Liste Auswählen, welche Bereitstellung ausgeführt werden soll die Option Head aus.
      3. Wählen Sie in der Liste Ereignisquelle auswählen die Option Aus Tabelle aus.
      4. Wählen Sie in der Liste Ereignistyp auswählen die Option Beim Bearbeiten aus.
      5. Wählen Sie in der Liste Benachrichtigungseinstellungen bei Fehlern die Option Täglich benachrichtigen aus.
    5. Klicken Sie auf Speichern.
    6. 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 Google Tabellen-Tabellen aufrufen, bearbeiten, erstellen und löschen sowie eine Verbindung zu einem externen Dienst herstellen.

  4. 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:

    1. Öffnen Sie Ihr Apps Script-Projekt.
    2. Klicken Sie auf Projekteinstellungen .
    3. Klicken Sie das Kästchen Manifestdatei „appsscript.json“ im Editor anzeigen an.
    4. Klicken Sie auf Bearbeiter .
    5. Die Manifestdatei wird als Projektdatei mit dem Namen appsscript.json angezeigt. Wählen Sie die Datei aus, um sie zu bearbeiten.
    6. 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 Google Sheets-Tabellen aufrufen, bearbeiten, erstellen oder löschen
    7. Klicken Sie auf „Speichern“ .

Workflow bereitstellen, der in eine Tabelle schreibt und Callbacks verwendet

Stellen Sie einen Workflow bereit, der ausgeführt, pausiert und dann fortgesetzt wird, wenn ein Callback über eine Tabelle genehmigt wird. Dabei wird mit dem Google Sheets API-Connector eine Tabelle in Google Tabellen geschrieben.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Workflows auf:

    Zur Seite "Workflows"

  2. Klicken Sie auf  Erstellen.

  3. Geben Sie einen Namen für den neuen Workflow ein: workflows-awaits-callback-sheets.

  4. Wählen Sie in der Liste Region die Option us-central1 (Iowa) aus.

  5. Wählen Sie als Dienstkonto das Compute Engine-Standarddienstkonto (PROJECT_NUMBER-compute@developer.gserviceaccount.com) aus.

  6. Klicken Sie auf Weiter.

  7. Geben Sie im Workflow-Editor die folgende Definition für den Workflow ein:

    main:
      steps:
        - init:
            assign:
            # Replace with your sheetId and make sure the service account
            # for the workflow has write permissions to the sheet
            - sheetId: "10hieAH6b-oMeIVT_AerSLNxQck14IGhgi8ign-x2x8g"
        - before_sheets_callback:
            call: sys.log
            args:
              severity: INFO
              data: ${"Execute steps here before waiting for callback from sheets"}
        - wait_for_sheets_callback:
            call: await_callback_sheets
            args:
              sheetId: ${sheetId}
            result: await_callback_result
        - after_sheets_callback:
            call: sys.log
            args:
              severity: INFO
              data: ${"Execute steps here after receiving callback from sheets"}
        - returnResult:
            return: ${await_callback_result}
    
    await_callback_sheets:
        params: [sheetId]
        steps:
            - init:
                assign:
                  - project_id: ${sys.get_env("GOOGLE_CLOUD_PROJECT_ID")}
                  - location: ${sys.get_env("GOOGLE_CLOUD_LOCATION")}
                  - workflow_id: ${sys.get_env("GOOGLE_CLOUD_WORKFLOW_ID")}
                  - execution_id: ${sys.get_env("GOOGLE_CLOUD_WORKFLOW_EXECUTION_ID")}
            - create_callback:
                call: events.create_callback_endpoint
                args:
                  http_callback_method: POST
                result: callback_details
            - save_callback_to_sheets:
                call: googleapis.sheets.v4.spreadsheets.values.append
                args:
                    range: ${"Sheet1!A1:G1"}
                    spreadsheetId: ${sheetId}
                    valueInputOption: RAW
                    body:
                        majorDimension: "ROWS"
                        values:
                          - ["${project_id}", "${location}", "${workflow_id}", "${execution_id}", "${callback_details.url}", "", "FALSE"]
            - log_and_await_callback:
                try:
                  steps:
                    - log_await_start:
                        call: sys.log
                        args:
                          severity: INFO
                          data: ${"Started waiting for callback from sheet " + sheetId}
                    - await_callback:
                        call: events.await_callback
                        args:
                          callback: ${callback_details}
                          timeout: 3600
                        result: callback_request
                    - log_await_stop:
                        call: sys.log
                        args:
                          severity: INFO
                          data: ${"Stopped waiting for callback from sheet " + sheetId}
                except:
                    as: e
                    steps:
                        - log_error:
                            call: sys.log
                            args:
                                severity: "ERROR"
                                text: ${"Received error " + e.message}
            - check_null_await_result:
                switch:
                  - condition: ${callback_request == null}
                    return: null
            - log_await_result:
                call: sys.log
                args:
                  severity: INFO
                  data: ${"Approved by " + callback_request.http_request.body.approver}
            - return_await_result:
                return: ${callback_request.http_request.body}
  8. Ersetzen Sie den Platzhalterwert sheetId durch Ihren spreadsheetId.

  9. Klicken Sie auf Bereitstellen.

gcloud

  1. Erstellen Sie eine Quellcodedatei für Ihren Workflow:

    touch workflows-awaits-callback-sheets.yaml
    
  2. Kopieren Sie in einem Texteditor den folgenden Workflow in Ihre Quellcodedatei:

    main:
      steps:
        - init:
            assign:
            # Replace with your sheetId and make sure the service account
            # for the workflow has write permissions to the sheet
            - sheetId: "10hieAH6b-oMeIVT_AerSLNxQck14IGhgi8ign-x2x8g"
        - before_sheets_callback:
            call: sys.log
            args:
              severity: INFO
              data: ${"Execute steps here before waiting for callback from sheets"}
        - wait_for_sheets_callback:
            call: await_callback_sheets
            args:
              sheetId: ${sheetId}
            result: await_callback_result
        - after_sheets_callback:
            call: sys.log
            args:
              severity: INFO
              data: ${"Execute steps here after receiving callback from sheets"}
        - returnResult:
            return: ${await_callback_result}
    
    await_callback_sheets:
        params: [sheetId]
        steps:
            - init:
                assign:
                  - project_id: ${sys.get_env("GOOGLE_CLOUD_PROJECT_ID")}
                  - location: ${sys.get_env("GOOGLE_CLOUD_LOCATION")}
                  - workflow_id: ${sys.get_env("GOOGLE_CLOUD_WORKFLOW_ID")}
                  - execution_id: ${sys.get_env("GOOGLE_CLOUD_WORKFLOW_EXECUTION_ID")}
            - create_callback:
                call: events.create_callback_endpoint
                args:
                  http_callback_method: POST
                result: callback_details
            - save_callback_to_sheets:
                call: googleapis.sheets.v4.spreadsheets.values.append
                args:
                    range: ${"Sheet1!A1:G1"}
                    spreadsheetId: ${sheetId}
                    valueInputOption: RAW
                    body:
                        majorDimension: "ROWS"
                        values:
                          - ["${project_id}", "${location}", "${workflow_id}", "${execution_id}", "${callback_details.url}", "", "FALSE"]
            - log_and_await_callback:
                try:
                  steps:
                    - log_await_start:
                        call: sys.log
                        args:
                          severity: INFO
                          data: ${"Started waiting for callback from sheet " + sheetId}
                    - await_callback:
                        call: events.await_callback
                        args:
                          callback: ${callback_details}
                          timeout: 3600
                        result: callback_request
                    - log_await_stop:
                        call: sys.log
                        args:
                          severity: INFO
                          data: ${"Stopped waiting for callback from sheet " + sheetId}
                except:
                    as: e
                    steps:
                        - log_error:
                            call: sys.log
                            args:
                                severity: "ERROR"
                                text: ${"Received error " + e.message}
            - check_null_await_result:
                switch:
                  - condition: ${callback_request == null}
                    return: null
            - log_await_result:
                call: sys.log
                args:
                  severity: INFO
                  data: ${"Approved by " + callback_request.http_request.body.approver}
            - return_await_result:
                return: ${callback_request.http_request.body}
  3. Ersetzen Sie den Platzhalterwert sheetId durch Ihren spreadsheetId.

  4. Stellen Sie den Workflow bereit. Geben Sie hierzu den folgenden Befehl ein:

    gcloud workflows deploy workflows-awaits-callback-sheets \
        --source=workflows-awaits-callback-sheets.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

Workflow ausführen, um den End-to-End-Ablauf zu testen Wenn Sie einen Workflow ausführen, wird die aktuelle Workflowdefinition ausgeführt, die mit dem Workflow verknüpft ist.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Workflows auf:

    Zur Seite "Workflows"

  2. Wählen Sie auf der Seite Workflows den Workflow workflows-awaits-callback-sheets aus, um zur zugehörigen Detailseite zu gelangen.

  3. Klicken Sie auf der Seite Workflowdetails auf Ausführen.

  4. Klicken Sie noch einmal auf Ausführen.

    Der Workflow wird gestartet und der Ausführungsstatus sollte Running lauten. Die Logs zeigen auch an, dass der Workflow pausiert ist und wartet:

    Execute steps here before waiting for callback from sheets
    ...
    Started waiting for callback from sheet 1JlNFFnqs760M_KDqeeeDc_qtrABZDxoalyCmRE39dpM
  5. Prüfen Sie, ob die Callback-Details vom Workflow in eine Zeile Ihrer Tabelle geschrieben wurden.

    Beispielsweise sollte die Workflowausführungs-ID in der Spalte Execution ID, ein Callback-Endpunkt in der Spalte Callback URL (Callback-URL) und FALSE in der Spalte Approved? (Genehmigt?) angezeigt werden.

  6. Ändern Sie in der Tabelle FALSE in TRUE.

    Nach ein oder zwei Minuten sollte die Ausführung fortgesetzt und dann mit dem Ausführungsstatus Erfolgreich abgeschlossen werden.

gcloud

  1. Öffnen Sie ein Terminalfenster.

  2. Führen Sie den Workflow aus:

      gcloud workflows run workflows-awaits-callback-sheets

    Der Workflow wird gestartet und in der Ausgabe sollte angezeigt werden, dass der Workflow pausiert wurde und noch aussteht:

      Waiting for execution [a8361789-90e0-467f-8bd7-ea1c81977820] to complete...working.

  3. Prüfen Sie, ob die Callback-Details vom Workflow in eine Zeile Ihrer Tabelle geschrieben wurden.

    Beispielsweise sollte die Workflowausführungs-ID in der Spalte Execution ID, ein Callback-Endpunkt in der Spalte Callback URL (Callback-URL) und FALSE in der Spalte Approved? (Genehmigt?) angezeigt werden.

  4. Ändern Sie in der Tabelle FALSE in TRUE.

    Nach ein oder zwei Minuten sollte die Ausführung fortgesetzt und dann mit dem Ausführungsstatus SUCCEEDED abgeschlossen werden.

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:

  1. Wechseln Sie in der Google Cloud Console zur Seite Ressourcen verwalten.

    Zur Seite „Ressourcen verwalten“

  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
  3. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.

In dieser Anleitung erstellte Ressourcen löschen

  1. Dateien in Google Drive löschen
  2. Workflow löschen

Nächste Schritte