Workflows mithilfe von Callbacks und Google Tabellen pausieren und fortsetzen


Google Tabellen ist eine cloudbasierte Tabellenkalkulationslösung, die die Zusammenarbeit in Echtzeit unterstützt und Tools zum Visualisieren, Verarbeiten und Kommunizieren 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 pausiert und dann auf die manuelle Genehmigung über die 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. In diesem Ordner wird Ihre Tabellenkalkulation gespeichert und der Workflow kann in die Tabellenkalkulation schreiben.
  2. Erstellen Sie eine Google-Tabelle, um eine Genehmigung zu erfassen und einen Rückruf an einen Workflow zu initiieren.
  3. Mit Google Apps Script, einer cloudbasierten JavaScript-Plattform, mit der Sie Google Workspace-Produkte programmatisch erstellen, lesen und bearbeiten können, können Sie die Wiederaufnahme eines pausierten Workflows auslösen, wenn eine Anfrage durch eine Aktualisierung der Tabelle genehmigt wird.
  4. Erstellen und stellen Sie einen Workflow bereit, der den Google Sheets API-Connector aufruft, um Daten an die Tabelle anzuhängen. Der Workflow wird ausgeführt, pausiert und dann fortgesetzt, wenn ein Callback über die Tabelle genehmigt wird. Weitere Informationen zu Workflow-Connectors
  5. Testen Sie den gesamten Prozess und prüfen Sie, ob der Workflow wie erwartet ablä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.

Im Tutorial wird auch Google Workspace verwendet. Dienste für Unternehmen, die nicht in den kostenlosen Google-Apps für Privatnutzer enthalten sind, sind kostenpflichtig.

Hinweise

Einige der folgenden Befehle können Sie in der Google Cloud -Konsole oder über die Google Cloud CLI entweder 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 -Konsole auf der Seite für die Projektauswahl ein Google Cloud -Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  2. Die Abrechnung für Ihr 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 Sheets API und die Workflows API.

    Aktivieren Sie die APIs

  4. Notieren Sie sich das Compute Engine-Standarddienstkonto, das Sie in dieser Anleitung zu Testzwecken mit dem Workflow verknüpfen. Für neue Projekte, für die die Compute Engine API aktiviert ist, wird dieses Dienstkonto mit der grundlegenden IAM-Rolle „Bearbeiter“ und dem folgenden E-Mail-Format erstellt:

    PROJECT_NUMBER[email protected]

    Sie finden Ihre Projektnummer auf der Willkommensseite der Google Cloud -Konsole.

    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.

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Die Abrechnung für Ihr 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 Sheets 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, das Sie in dieser Anleitung zu Testzwecken mit dem Workflow verknüpfen. Für neue Projekte, für die die Compute Engine API aktiviert ist, wird dieses Dienstkonto mit der grundlegenden IAM-Rolle „Bearbeiter“ und dem folgenden E-Mail-Format erstellt:

    PROJECT_NUMBER[email protected]

    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 Grundsatz 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. Wenn Sie eine Berechtigung für den freigegebenen Ordner einrichten, darf Ihr Workflow in die Tabelle schreiben.

  1. Rufen Sie drive.google.com auf.
  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 alle Dateien im Ordner. Weitere Informationen zum Freigeben von Dateien, Ordnern und Ablagen

  7. Wählen Sie die Rolle Editor aus.

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

  9. Klicken Sie auf Freigeben.

Tabelle mit Google Sheets erstellen

Wenn Sie eine Tabelle über Google Sheets erstellen, wird sie in Google Drive gespeichert. Standardmäßig wird die Tabelle im Stammordner in Drive gespeichert. Mit der Google Sheets API ist es nicht möglich, eine Tabelle direkt in einem bestimmten Ordner zu erstellen. Es gibt jedoch Alternativen, z. B. die Tabellenkalkulation nach dem Erstellen in einen bestimmten Ordner zu verschieben, wie in diesem Beispiel. 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 enthalten kann. Sie finden die Tabellen-ID in einer Google Sheets-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 Aufzeichnen von Genehmigungen

    Der Wert in Spalte G, Genehmigt?, wird verwendet, um Rückrufe im Workflow zu initiieren.

  5. Verschieben Sie die Tabelle in den Google Drive-Ordner, den Sie zuvor erstellt haben:

    1. Wählen Sie in der Tabelle Datei> Verschieben aus.
    2. Rufen Sie den von Ihnen erstellten Ordner auf.
    3. Klicken Sie auf Verschieben.

Sie können auch den Google Sheets API-Connector verwenden, um eine Tabelle zu erstellen. Hinweis: Wenn Sie den Connector verwenden, kann die 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 Sheets mit Apps Script erweitern

Mit Apps Script können Sie Google-Tabellen programmatisch erstellen, lesen und bearbeiten. Die meisten für Google Sheets entwickelten Scripts bearbeiten Arrays, um mit den Zellen, Zeilen und Spalten in einer Tabelle zu interagieren. Eine Einführung in die Verwendung von Apps Script mit Google Tabellen finden Sie in der Kurzanleitung für benutzerdefinierte Funktionen.

  1. So erstellen Sie ein Apps Script-Projekt in Google Sheets:

    1. Öffnen Sie die Google-Tabelle.
    2. Wählen Sie Erweiterungen > Apps Script aus.
    3. Klicken Sie im Script-Editor auf Unbenanntes Projekt.
    4. Geben Sie Ihrem Projekt einen Namen und klicken Sie auf Umbenennen.

    Ihr Script ist jetzt an Ihre Tabelle gebunden. Dadurch hat es besondere Möglichkeiten, die Benutzeroberfläche zu ändern oder zu reagieren, wenn die Tabelle geöffnet wird.

    Ein Skriptprojekt ist eine Sammlung von Apps Script-Dateien und -Ressourcen. Code-Dateien in einem Script-Projekt 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. So erstellen Sie eine Funktion:

    1. Öffnen Sie Ihr Apps Script-Projekt.
    2. Klicken Sie auf Editor .
    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 den Code im Script-Editor durch den folgenden Code, der die Daten in Ihrem Tabellenblatt liest und als Eingabe für die Ausführung eines Workflows ü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 in 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. Trigger erstellen:

    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 YOUR_PROJECT_NAME hinzufügen den Trigger:
      1. Wählen Sie in der Liste Auszuführende Funktion auswählen die Option handleEdit aus.
      2. Wählen Sie in der Liste Auszuführende Bereitstellung auswählen die Option Head aus.
      3. Wählen Sie in der Liste Ereignisquelle auswählen die Option Aus Tabellenkalkulation aus.
      4. Wählen Sie in der Liste Ereignistyp auswählen die Option Bei Bearbeitung aus.
      5. Wählen Sie in der Liste Einstellungen für Fehlerbenachrichtigungen 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 aufrufen, bearbeiten, erstellen und löschen sowie eine Verbindung zu einem externen Dienst herstellen.

  4. Die Manifestdatei eines Apps Script-Projekts ist eine JSON-Datei, in der grundlegende Projektinformationen angegeben sind, die Apps Script benötigt, um ein Script erfolgreich auszuführen. Hinweis: Im Apps Script-Editor werden Manifestdateien standardmäßig ausgeblendet, um die Einstellungen Ihres Apps Script-Projekts zu schützen. Manifestdatei bearbeiten:

    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 Editor .
    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. Wenn Sie die Autorisierungsbereiche festlegen möchten, die Ihr Projekt verwendet, fügen Sie ein Array mit den gewünschten Bereichen hinzu. 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 auf Folgendes festgelegt:

      • Verbindung mit externem Dienst herstellen
      • Ihre Google Cloud -Daten aufrufen, 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 ein Tabellenblatt schreibt und Callbacks verwendet

Einen Workflow bereitstellen, der ausgeführt, pausiert und dann fortgesetzt wird, wenn ein Callback über eine Tabelle genehmigt wird. Der Workflow schreibt mit dem Google Sheets API-Connector in eine Google-Tabelle.

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 für das Dienstkonto das Compute Engine-Standarddienstkonto (PROJECT_NUMBER[email protected]) aus.

  6. Klicken Sie auf Weiter.

  7. Geben Sie im Workflow-Editor die folgende Definition für Ihren 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 Platzhalter sheetId durch Ihre 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 den folgenden Workflow in einem Texteditor 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 Platzhalter sheetId durch Ihre 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[email protected]

    Ersetzen Sie PROJECT_NUMBER durch die Projektnummer Ihres Google Cloud-Projekts. So rufen Sie Ihre Projektnummer ab:

    gcloud projects describe PROJECT_ID

End-to-End-Ablauf testen

Führen Sie den Workflow aus, um den End-to-End-Ablauf zu testen. Bei der Ausführung eines Workflows wird die aktuelle Workflowdefinition ausgeführt, die dem Workflow zugeordnet 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 die Detailseite aufzurufen.

  3. Klicken Sie auf der Seite Workflow-Details auf  Ausführen.

  4. Klicken Sie noch einmal auf Ausführen.

    Der Workflow wird gestartet und der Ausführungsstatus sollte Wird ausgeführt lauten. Die Logs zeigen auch, 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 in eine Zeile in Ihrer Tabelle geschrieben wurden.

    Beispielsweise sollte die ID der Workflow-Ausführung in der Spalte Execution ID (Ausführungs-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 die Ausgabe sollte darauf hinweisen, dass der Workflow pausiert ist und wartet:

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

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

    Beispielsweise sollte die ID der Workflow-Ausführung in der Spalte Execution ID (Ausführungs-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. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

In dieser Anleitung erstellte Ressourcen löschen

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

Nächste Schritte