Möglicherweise muss Ihr Workflow auf einen externen Prozess warten. Mit HTTP-Callbacks können Sie warten, bis ein anderer Dienst eine Anfrage an einen Callback-Endpunkt sendet. Diese Anfrage setzt die Ausführung des Workflows fort. Sie können auch mithilfe von Abfragen warten.
Anstatt Polling zu verwenden, wird in dieser Anleitung gezeigt, wie Sie mithilfe von HTTP-Callbacks und Eventarc-Triggern auf Ereignisse oder Pub/Sub-Nachrichten warten können. Sie können zwar einen Workflow mit Ereignissen oder Pub/Sub-Nachrichten auslösen, aber es kann vorkommen, dass Sie die Ausführung anhalten und auf ein anderes Ereignis warten möchten, bevor Sie fortfahren. Beispiel: Ein Ereignis löst einen Workflow aus, um einen Prozess zu starten, aber der Workflow muss auf ein weiteres Ereignis warten, das signalisiert, dass der Prozess abgeschlossen ist. Sie können dies implementieren, indem ein Workflow einen anderen Workflow zurückruft.
Lernziele
In dieser Anleitung geschieht Folgendes:
Ein primärer Workflow, der auf Ereignisse warten muss, wird bereitgestellt und ausgeführt. Da er auf das Eintreten der Ereignisse warten muss, speichert er die Rückrufdetails in einer Firestore-Datenbank, damit der sekundäre Workflow die Details abrufen kann. Der primäre Workflow wartet dann auf die HTTP-Aufrufe.
Ein sekundärer Workflow wird durch die Ereignisse ausgelöst und ruft die Rückrufdetails aus der Firestore-Datenbank ab, wenn die Ereignisse generiert werden. Der sekundäre Workflow ruft dann den primären Workflow zurück, der seine Ausführung fortsetzt.
Hier ist eine Übersicht über den gesamten Prozess:
Primärer Workflow:
- Ein
callback-event-sample
-Workflow erstellt Rückrufendpunkte für zwei Ereignisquellen: ein Pub/Sub-Thema und einen Cloud Storage-Bucket. - In diesem Workflow werden beide Callback-Endpunkte in einem Firestore-Dokument gespeichert.
- Dieser Workflow stoppt die Ausführung und wartet, bis HTTP-Anfragen an den Callback-Endpunkten ankommen.
Ereignisse:
- Ereignisse treten auf: Eine Nachricht wird in einem Pub/Sub-Thema veröffentlicht und eine Datei wird in einen Cloud Storage-Bucket hochgeladen.
Sekundärer Workflow:
- Eventarc leitet die Ereignisse an den
callback-event-listener
-Workflow weiter und löst dessen Ausführung aus. - In diesem Workflow werden die entsprechenden Callback-Endpunkt-URLs aus dem Firestore-Dokument abgerufen.
- In diesem Workflow werden die Rückrufe an die entsprechenden Endpunkte im Beispiel-Workflow ausgeführt.
Primärer Workflow:
- Der
callback-event-sample
-Workflow empfängt die Ereignisse an den Callback-Endpunkten und setzt die Ausführung fort. - In diesem Workflow werden die Rückruf-URLs aus dem Firestore-Dokument gelöscht und die Ausführung abgeschlossen.
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.
Hinweise
Sie können die 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 App Engine API, die Eventarc API, die Firestore API, die Pub/Sub API und die Workflows API.
Erstellen Sie ein Dienstkonto für Ihren Workflow, das zur Authentifizierung bei anderen Google Cloud-Diensten verwendet werden soll, und weisen Sie ihm die entsprechenden Rollen zu:
Rufen Sie in der Google Cloud Console die Seite Dienstkonten auf:
Wählen Sie Ihr Projekt aus, um die Seite Dienstkonto erstellen aufzurufen.
Geben Sie im Feld Dienstkontoname einen Namen ein. Die Google Cloud Console füllt das Feld Dienstkonto-ID anhand dieses Namens aus.
Geben Sie im Feld Dienstkontobeschreibung eine Beschreibung ein. Beispiel:
Service account for tutorial
Klicken Sie auf Erstellen und fortfahren.
Filtern Sie in der Liste Rolle auswählen nach den folgenden Rollen, die Sie dem nutzerverwalteten Dienstkonto zuweisen möchten, das Sie im vorherigen Schritt erstellt haben:
- Cloud Datastore-Nutzer: Zugriff auf Daten in Firestore im Datastore-Modus (Datastore)
- Eventarc-Ereignisempfänger: Zum Empfangen von Ereignissen von Ereignisanbietern.
- Log-Autor: zum Schreiben von Protokollen.
- Workflow-Aufrufer: zum Ausführen von Workflows und zum Verwalten der Ausführungen.
Klicken Sie auf
Weitere Rolle hinzufügen, um weitere Rollen hinzuzufügen.Klicken Sie auf Weiter.
Klicken Sie zum Abschließen der Erstellung des Kontos auf Fertig.
Wenn Sie einen Eventarc-Trigger erstellen möchten, der Ereignisse aus Cloud Storage weiterleitet, weisen Sie dem Cloud Storage-Dienst-Agent die Rolle „Pub/Sub-Publisher“ zu. Normalerweise ist dies
service-PROJECT_NUMBER@gs-project-accounts.iam.gserviceaccount.com
. Sie können die E-Mail-Adresse für den Cloud Storage-Dienst-Agent abrufen.Öffnen Sie in der Google Cloud Console die Seite IAM.
Klicken Sie in der Zeile für den Cloud Storage-Dienst-Agent auf
Hauptkonto bearbeiten. (Wenn der Dienst-Agent nicht aufgeführt ist, fahren Sie mit dem nächsten Schritt fort.) Der Bereich Zugriff bearbeiten wird geöffnet.- Klicken Sie auf addWeitere Rolle hinzufügen und suchen Sie nach der Rolle Pub/Sub Publisher.
- Wählen Sie die Rolle aus.
- Klicken Sie auf Speichern.
Wenn der Dienst-Agent nicht aufgeführt ist, klicken Sie auf
Zugriff erlauben. Der Bereich Zugriff gewähren wird geöffnet.- Geben Sie im Feld Neue Hauptkonten die E-Mail-Adresse des Dienst-Agents ein.
- Suchen Sie in der Liste Rolle auswählen nach der Rolle Pub/Sub-Publisher.
- Wählen Sie die Rolle aus.
- Klicken Sie auf Speichern.
gcloud
In the Google Cloud console, 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.
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 App Engine API, die Eventarc API, die Firestore API, die Pub/Sub API und die Workflows API.
gcloud services enable \ appengine.googleapis.com \ eventarc.googleapis.com \ firestore.googleapis.com \ pubsub.googleapis.com \ workflows.googleapis.com
Erstellen Sie ein Dienstkonto für Ihren Workflow, das zur Authentifizierung bei anderen Google Cloud-Diensten verwendet werden soll, und weisen Sie ihm die entsprechenden Rollen zu.
Erstellen Sie das Dienstkonto:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
Ersetzen Sie
SERVICE_ACCOUNT_NAME
durch einen Namen für das Dienstkonto.Weisen Sie dem nutzerverwalteten Dienstkonto, das Sie im vorherigen Schritt erstellt haben, Rollen zu. Führen Sie den folgenden Befehl für jede der folgenden IAM-Rollen einmal aus:
roles/datastore.user
: Zugriff auf Daten in Firestore im Datastore-Modus (Datastore)roles/eventarc.eventReceiver
: Ereignisse von Ereignisanbietern zu empfangen.roles/logging.logWriter
: zum Schreiben von Protokollen.roles/workflows.invoker
: zum Ausführen von Workflows und zum Verwalten der Ausführungen.
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \ --role=ROLE
Ersetzen Sie Folgendes:
PROJECT_ID
: die Projekt-ID, unter der Sie das Dienstkonto erstellt habenROLE
: die zu gewährende Rolle
Wenn Sie einen Eventarc-Trigger erstellen möchten, der Ereignisse aus Cloud Storage weiterleitet, weisen Sie dem Cloud Storage-Dienst-Agenten die Rolle „Pub/Sub-Publisher“ zu. Normalerweise ist dies
service-PROJECT_NUMBER@gs-project-accounts.iam.gserviceaccount.com
. Verwenden Siegcloud storage service-agent
, um zuerst den Cloud Storage-Dienst-Agent abzurufen.SERVICE_ACCOUNT_STORAGE="$(gcloud storage service-agent --project=PROJECT_ID)" gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:$SERVICE_ACCOUNT_STORAGE \ --role=roles/pubsub.publisher
Firestore-Datenbank erstellen
In Firestore werden Ihre Daten in Dokumenten gespeichert, die Felder enthalten, die wiederum Werten zugeordnet sind. Diese Dokumente werden in Sammlungen gespeichert. Das sind Container für Ihre Dokumente, mit denen Sie Ihre Daten organisieren und Abfragen erstellen können. Weitere Informationen zu Firestore
Jedes Google Cloud-Projekt ist auf eine Firestore-Datenbank beschränkt. Führen Sie die folgenden Schritte aus, wenn Sie eine neue Datenbank erstellen möchten.
Console
Rufen Sie in der Google Cloud Console die Seite Einstieg von Firestore auf.
Klicken Sie auf Nativen Modus auswählen.
Weitere Informationen zum Auswählen des passenden Datenbankmodus sowie einen Funktionsvergleich finden Sie unter Zwischen nativem Modus und Datastore-Modus wechseln.
Wählen Sie in der Liste Standort auswählen die Option nam5 (USA) aus.
Der Standort gilt sowohl für die Firestore-Datenbank als auch für die App Engine-Anwendung in Ihrem Google Cloud-Projekt. Nachdem Sie die Datenbank erstellt haben, können Sie den Speicherort nicht mehr ändern.
Klicken Sie auf Datenbank erstellen.
gcloud
Wenn Sie eine Firestore-Datenbank erstellen möchten, müssen Sie zuerst eine App Engine-Anwendung erstellen und dann den Befehl gcloud firestore databases create
ausführen:
gcloud app create --region=us-central gcloud firestore databases create --region=us-central
Sie können die us-central is not a valid Firestore location
-Warnung ignorieren.
App Engine und Firestore unterstützen die gleichen Standorte. Die App Engine-Region us-central
(Iowa) ist aber der Firestore-Mehrfachregion nam5
(USA) zugeordnet.
Pub/Sub-Thema erstellen
In dieser Anleitung wird Pub/Sub als Ereignisquelle verwendet. Erstellen Sie ein Pub/Sub-Thema, damit Sie eine Nachricht darin veröffentlichen können. Weitere Informationen zum Erstellen und Verwalten von Themen
Console
Öffnen Sie in der Google Cloud Console die Pub/Sub-Seite Themen.
Klicken Sie auf
Thema erstellen.Geben Sie im Feld Topic ID den Wert
topic-callback
ein.Übernehmen Sie die anderen Standardeinstellungen.
Klicken Sie auf Thema erstellen.
gcloud
Führen Sie den Befehl gcloud pubsub topics create
aus, um ein Thema zu erstellen:
gcloud pubsub topics create topic-callback
Cloud Storage-Bucket erstellen
In dieser Anleitung wird Cloud Storage als Ereignisquelle verwendet. Erstellen Sie einen Cloud Storage-Bucket, damit Sie eine Datei hochladen können. Weitere Informationen zum Erstellen von Storage-Buckets
Console
Wechseln Sie in der Cloud Console zur Seite Cloud Storage-Buckets.
Klicken Sie auf
Erstellen.Geben Sie als Name des Buckets
PROJECT_ID-bucket-callback
ein.Die Projekt-ID wird im
callback-event-sample
-Workflow verwendet, um den Bucket zu identifizieren.Klicken Sie auf Weiter.
Wählen Sie als Standorttyp die Option Region und dann us-central1 (Iowa) aus.
Übernehmen Sie die anderen Standardeinstellungen.
Klicken Sie auf Erstellen.
gcloud
Führen Sie den Befehl gcloud storage buckets create
aus, um einen Bucket zu erstellen:
gcloud storage buckets create gs://PROJECT_ID-bucket-callback \ --location=us-central1
Die Projekt-ID wird im callback-event-sample
-Workflow verwendet, um den Bucket zu identifizieren.
Nachdem die Ereignisquellen erstellt wurden, können Sie den Workflow für den Ereignisempfänger bereitstellen.
Workflow bereitstellen, der auf Ereignisse wartet
Der callback-event-listener
-Workflow wird ausgelöst, wenn eine Nachricht in einem Pub/Sub-Thema veröffentlicht oder eine Datei in einen Cloud Storage-Bucket hochgeladen wird. Der Workflow empfängt das Ereignis, ruft die entsprechenden Rückrufdetails aus der Firestore-Datenbank ab und sendet dann eine HTTP-Anfrage an den Rückrufendpunkt.
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:
callback-event-listener
.Wählen Sie in der Liste Region die Option us-central1 aus.
Wählen Sie das zuvor erstellte Dienstkonto aus.
Klicken Sie auf Weiter.
Geben Sie im Workflow-Editor die Definition für Ihren Workflow ein:
Klicken Sie auf Bereitstellen.
gcloud
Erstellen Sie eine Quellcodedatei für Ihren Workflow:
touch callback-event-listener.yaml
Kopieren Sie den folgenden Workflow in einen Texteditor und fügen Sie ihn in Ihre Quellcodedatei ein:
Stellen Sie den Workflow bereit. Geben Sie hierzu den folgenden Befehl ein:
gcloud workflows deploy callback-event-listener \ --source=callback-event-listener.yaml \ --location=us-central1 \ --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Ersetzen Sie
SERVICE_ACCOUNT_NAME
durch den Namen des Dienstkontos, das Sie zuvor erstellt haben.
Workflow bereitstellen, der auf Ereignisse wartet
Der callback-event-sample
-Workflow speichert die Rückrufdetails in einer Firestore-Datenbank, hält die Ausführung an und wartet dann auf bestimmte Ereignisse.
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:
callback-event-sample
.Wählen Sie in der Liste Region die Option us-central1 aus.
Wählen Sie das zuvor erstellte Dienstkonto aus.
Klicken Sie auf Weiter.
Geben Sie im Workflow-Editor die Definition für Ihren Workflow ein:
Klicken Sie auf Bereitstellen.
gcloud
Erstellen Sie eine Quellcodedatei für Ihren Workflow:
touch callback-event-sample.yaml
Kopieren Sie den folgenden Workflow in einen Texteditor und fügen Sie ihn in Ihre Quellcodedatei ein:
Stellen Sie den Workflow bereit. Geben Sie hierzu den folgenden Befehl ein:
gcloud workflows deploy callback-event-sample \ --source=callback-event-sample.yaml \ --location=us-central1 \ --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Ersetzen Sie
SERVICE_ACCOUNT_NAME
durch den Namen des Dienstkontos, das Sie zuvor erstellt haben.
Eventarc-Trigger erstellen, um Pub/Sub-Ereignisse weiterzuleiten
Mit einem Eventarc-Trigger können Sie Ereignisse weiterleiten, indem Sie Filter für den Trigger festlegen, einschließlich der Ereignisquelle und des Zielworkflows.
Erstellen Sie einen Eventarc-Trigger, um den callback-event-listener
-Workflow auszuführen, wenn eine Nachricht in einem Pub/Sub-Thema veröffentlicht wird.
Weitere Informationen zum Auslösen eines Workflows
Console
Rufen Sie in der Google Cloud Console die Seite Eventarc auf.
Klicken Sie auf
Trigger erstellen.Geben Sie einen Triggernamen ein.
Beispiel:
trigger-pubsub-events-listener
.Wählen Sie in der Liste Ereignisanbieter die Option Cloud Pub/Sub aus.
Wählen Sie in der Liste Ereignis unter Benutzerdefiniert die Option google.cloud.pubsub.topic.v1.messagePublished aus.
Wählen Sie in der Liste Cloud Pub/Sub-Thema auswählen das zuvor erstellte Thema aus.
Wählen Sie in der Liste Region die Option us-central1 (Iowa) aus.
Wenn Sie dazu aufgefordert werden, weisen Sie dem Pub/Sub-Dienstkonto die Rolle
iam.serviceAccountTokenCreator
zu.Wählen Sie das zuvor erstellte Dienstkonto aus.
Wählen Sie in der Liste Ereignisziel die Option Workflows aus.
Wählen Sie in der Liste Workflow auswählen den Workflow callback-event-listener aus.
Klicken Sie auf Erstellen.
gcloud
Führen Sie den Befehl gcloud eventarc triggers create
aus, um einen Trigger zu erstellen:
gcloud eventarc triggers create trigger-pubsub-events-listener \ --location=us-central1 \ --destination-workflow=callback-event-listener \ --destination-workflow-location=us-central1 \ --event-filters="type=google.cloud.pubsub.topic.v1.messagePublished" \ --transport-topic=topic-callback \ --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Ereignisse werden transformiert und als Laufzeitargumente an die Workflowausführung übergeben. Es kann bis zu zwei Minuten dauern, bis der neue Trigger aktiv ist.
Eventarc-Trigger erstellen, um Cloud Storage-Ereignisse weiterzuleiten
Mit einem Eventarc-Trigger können Sie Ereignisse weiterleiten, indem Sie Filter für den Trigger festlegen, einschließlich der Ereignisquelle und des Zielworkflows.
Erstellen Sie einen Eventarc-Trigger, um den Workflow callback-event-listener
auszuführen, wenn eine Datei in einen Cloud Storage-Bucket hochgeladen wird.
Weitere Informationen zum Auslösen eines Workflows
Console
Rufen Sie in der Google Cloud Console die Seite Eventarc auf.
Klicken Sie auf
Trigger erstellen.Geben Sie einen Triggernamen ein.
Beispiel:
trigger-storage-events-listener
.Wählen Sie im Feld Ereignisanbieter die Option Cloud Storage aus.
Wählen Sie in der Liste Ereignis unter Direkt die Option google.cloud.storage.object.v1.finalized aus.
Suchen Sie in der Liste Bucket nach dem zuvor erstellten Bucket und wählen Sie ihn aus.
Akzeptieren Sie in der Liste Region die Standardeinstellung us-central1 (Iowa), die auf Ihrem Cloud Storage-Bucket basiert.
Wenn Sie dazu aufgefordert werden, weisen Sie dem Pub/Sub-Dienstkonto die Rolle
iam.serviceAccountTokenCreator
zu.Wählen Sie das zuvor erstellte Dienstkonto aus.
Wählen Sie in der Liste Ereignisziel die Option Workflows aus.
Wählen Sie in der Liste Workflow auswählen den Workflow callback-event-listener aus.
Klicken Sie auf Erstellen.
gcloud
Führen Sie den Befehl gcloud eventarc triggers create
aus, um einen Trigger zu erstellen:
gcloud eventarc triggers create trigger-storage-events-listener \ --location=us-central1 \ --destination-workflow=callback-event-listener \ --destination-workflow-location=us-central1 \ --event-filters="type=google.cloud.storage.object.v1.finalized" \ --event-filters="bucket=PROJECT_ID-bucket-callback" \ --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Ereignisse werden transformiert und als Laufzeitargumente an die Workflowausführung übergeben. Es kann bis zu zwei Minuten dauern, bis der neue Trigger aktiv ist.
Haupt-Workflow ausführen
Bei der Ausführung eines Workflows wird die aktuelle Workflowdefinition ausgeführt, die dem Workflow zugeordnet ist. Führen Sie den Workflow callback-event-sample
aus. Dies ist der primäre Workflow. Er wartet auf bestimmte Ereignisse und setzt die Ausführung erst fort, wenn der sekundäre Workflow die entsprechenden Callback-Anfragen stellt.
Console
Öffnen Sie in der Google Cloud Console die Seite Workflows.
Klicken Sie auf der Seite Workflows auf den Workflow callback-event-sample, um die Detailseite aufzurufen.
Klicken Sie auf der Seite Workflow-Details auf play_arrow Ausführen.
Klicken Sie noch einmal auf Ausführen.
Die Workflowausführung wird gestartet. Während der Ausführung sollte der Ausführungsstatus
Running
und ein Protokolleintrag ähnlich dem folgenden angezeigt werden:Started waiting 1hr for an event from source topic-callback
.
gcloud
Führen Sie den Befehl gcloud workflows run
aus, um einen Workflow auszuführen:
gcloud workflows run callback-event-sample \ --location=us-central1
Die Workflowausführung wird gestartet. Während der Ausführung sollte der Ausführungsstatus in etwa so aussehen:
Waiting for execution [a848a164-268a-449c-b2fe-396f32f2ed66] to complete...working...
Ereignisse generieren und den Ausführungsstatus prüfen
Sie können prüfen, ob die Ergebnisse wie erwartet sind, indem Sie Ereignisse generieren, Protokolleinträge ansehen und den Status der Workflowausführung prüfen.
Nachricht veröffentlichen
Veröffentlichen Sie eine Nachricht im zuvor erstellten Pub/Sub-Thema.
Console
Öffnen Sie in der Google Cloud Console die Pub/Sub-Seite Themen.
Klicken Sie auf topic-callback.
Klicken Sie auf den Tab Nachrichten.
Klicken Sie auf Nachricht veröffentlichen.
Geben Sie im Feld Nachrichtentext
Hello World
ein.Klicken Sie auf Veröffentlichen.
gcloud
Veröffentlichen Sie eine Nachricht mit dem Befehl gcloud pubsub topics publish:
gcloud pubsub topics publish topic-callback \ --message="Hello World"
Objekt hochladen
Laden Sie eine Datei in den zuvor erstellten Cloud Storage-Bucket hoch.
Console
- Wechseln Sie in der Cloud Console zur Seite Cloud Storage-Buckets.
Klicken Sie auf den Namen des zuvor erstellten Buckets.
Führen Sie auf dem Tab Objekte einen der folgenden Schritte aus:
Ziehen Sie die gewünschte Datei per Drag-and-drop von Ihrem Desktop oder Dateimanager in den Hauptbereich der Google Cloud Console.
Klicken Sie auf Dateien hochladen, wählen Sie die Datei aus, die Sie hochladen möchten, und klicken Sie dann auf Öffnen.
gcloud
Führen Sie den Befehl gcloud storage cp
aus, um eine Datei hochzuladen:
gcloud storage cp OBJECT_LOCATION gs://PROJECT_ID-bucket-callback/
Ersetzen Sie OBJECT_LOCATION
durch den lokalen Pfad zu Ihrem Objekt. Beispiel: random.txt
.
Logeinträge und Ausführungsstatus ansehen
Prüfen Sie, ob der callback-event-sample
-Workflow erfolgreich abgeschlossen wurde.
Console
Öffnen Sie in der Google Cloud Console die Seite Workflows.
Klicken Sie auf der Seite Workflows auf den Workflow callback-event-sample, um die Detailseite aufzurufen.
Klicken Sie auf der Seite Workflow-Details auf die entsprechende Ausführungs-ID, um die Details für eine bestimmte Ausführung abzurufen.
Der Ausführungsstatus sollte Erfolgreich lauten. Im Bereich „Ausgabe“ sollten die empfangenen Pub/Sub- und Cloud Storage-Ereignisse angezeigt werden.
gcloud
Filtern Sie die Logeinträge und geben Sie die Ausgabe im JSON-Format zurück:
gcloud logging read "resource.type=workflows.googleapis.com/Workflow AND textPayload:calling OR textPayload:waiting" \ --format=json
Suchen Sie nach Logeinträgen wie dem folgenden:
"textPayload": "Stopped waiting for an event from source..." "textPayload": "Calling back url https://workflowexecutions.googleapis.com/v1/projects/..." "textPayload": "Started waiting 1hr for an event from source..."
Prüfen Sie den Status des letzten Ausführungsversuchs:
gcloud workflows executions wait-last
Das Ergebnis sollte in etwa so aussehen:
Using cached execution name: projects/1085953646031/locations/us-central1/workflows/callback-event-sample/executions/79929e4e-82c1-4da1-b068-f828034c01b7 Waiting for execution [79929e4e-82c1-4da1-b068-f828034c01b7] to complete...done. [...] state: SUCCEEDED
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:
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
In dieser Anleitung erstellte Ressourcen löschen
Nächste Schritte
- Sehen Sie sich die Anleitung Human-in-the-Loop-Workflow mit Callbacks erstellen an.