In diesem Dokument wird beschrieben, wie Sie ereignisgesteuerte Workflows erstellen, die durch Statusänderungen in Ihren Dataflow-Jobs ausgelöst werden.
Ihr Workflow könnte beispielsweise Folgendes umfassen:
- Senden eine Benachrichtigung an einen Entwickler im Bereitschaftsdienst, wenn ein kritischer Job fehlschlägt.
- Benachrichtigen von Nutzern, wenn ein Batchjob abgeschlossen ist, oder einen weiteren Dataflow-Job starten.
- Ressourcen bereinigen, die von einem Job verwendet werden, z. B. Cloud Storage-Buckets.
Übersicht
Eventarc ist ein Google Cloud-Dienst, der Ereignisse von anderen Diensten überwachen und an verschiedene Ziele weiterleiten kann.
Wenn Sie einen Dataflow-Job ausführen, durchläuft er verschiedene Status wie JOB_STATE_QUEUED
, JOB_STATE_RUNNING
und JOB_STATE_DONE
.
Mit der Dataflow-Integration in Eventarc können Sie eine Aktion auslösen, wenn sich der Status eines Jobs ändert.
Da Eventarc ein verwalteter Dienst ist, müssen Sie die zugrunde liegende Infrastruktur nicht bereitstellen oder verwalten.
Hinweis
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Eventarc APIs.
Damit Sie die Eventarc API verwenden können, muss Ihr Projekt ein ausreichendes Kontingent haben. Außerdem muss das mit dem Eventarc-Trigger verknüpfte Dienstkonto die entsprechenden Berechtigungen haben.
Ereignisziel auswählen
Wählen Sie ein Ereignisziel aus, in dem das Ereignis empfangen werden soll. Das Ziel bestimmt den nächsten Schritt in Ihrem Workflow.
Beispiele:
- Wenn Sie eine SMS-Benachrichtigung senden möchten, können Sie Cloud Run-Funktionen verwenden, um einen eigenständigen HTTP-Trigger zu erstellen.
- Für einen komplexeren Workflow können Sie Workflows verwenden.
- Wenn Ihre Dataflow-Pipeline Teil einer größeren Lösung ist, die in der Google Kubernetes Engine ausgeführt wird, kann der Trigger das Ereignis an einen GKE-Dienst weiterleiten, der in Ihrem Cluster ausgeführt wird.
Weitere Informationen zu diesem Architekturstil finden Sie in der Eventarc-Dokumentation unter Ereignisgesteuerte Architekturen.
Trigger erstellen
Informationen zum Erstellen eines Eventarc-Triggers für Dataflow-Jobstatusänderungen finden Sie in einem der folgenden Dokumente:
- Dataflow-Ereignisse an Cloud Run weiterleiten
- Dataflow-Ereignisse an die Google Kubernetes Engine weiterleiten
- Dataflow-Ereignisse an Workflows weiterleiten
- Trigger für Cloud Run-Funktionen erstellen
Optional können Sie Ereignisse nach Dataflow-Job-ID filtern. Sie können beispielsweise Job-IDs auswählen, die einem regulären Ausdruck entsprechen. Weitere Informationen finden Sie unter Informationen zu Pfadmustern.
Ereignisse verarbeiten
Die Ereignisdaten beschreiben den Dataflow-Job zum Zeitpunkt, zu dem das Ereignis ausgelöst wurde. Die Nutzlast ähnelt dem Ressourcentyp Job
, wobei die Felder steps
, pipeline_description
und transform_name_mapping
weggelassen werden. Außerdem sind je nach Jobstatus einige Felder möglicherweise nicht vorhanden.
Im Folgenden sehen Sie ein Beispiel für eine Nutzlast:
{
"id":"2023-04-13_16_28_37-12345678",
"projectId":"my-project",
"name":"job1",
"currentState":"JOB_STATE_QUEUED",
"currentStateTime":"2023-04-13T23:28:37.437622Z",
"createTime":"2023-04-13T23:28:37.437622Z",
"location":"us-central1",
"startTime":"2023-04-13T23:28:37.437622Z"
}
Weitere Informationen zu Jobstatus finden Sie in den folgenden Themen: