Questo documento descrive come creare flussi di lavoro basati su eventi attivati da cambiamenti di stato nei job Dataflow.
Ad esempio, il tuo flusso di lavoro potrebbe:
- Invia un avviso a un tecnico di guardia se un job critico non va a buon fine.
- Invia una notifica agli utenti al termine di un job batch o avvia un altro job Dataflow.
- Ripulire le risorse utilizzate da un job, ad esempio i bucket Cloud Storage.
Panoramica
Eventarc è un Google Cloud servizio che può ascoltare gli eventi di altri servizi e inoltrarli a varie destinazioni.
Quando esegui un job Dataflow, questo passa attraverso vari stati, ad esempio JOB_STATE_QUEUED
, JOB_STATE_RUNNING
e JOB_STATE_DONE
.
L'integrazione di Dataflow con Eventarc ti consente di attivare un'azione quando un job cambia stato.
Poiché Eventarc è un servizio gestito, non è necessario eseguire il provisioning o gestire l'infrastruttura di base.
Prima di iniziare
- 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.
Per utilizzare l'API Eventarc, il progetto deve disporre di quota sufficiente. Inoltre, l'account di servizio associato all'attivatore Eventarc deve disporre delle autorizzazioni appropriate.
Scegli una destinazione per l'evento
Scegli una destinazione evento per ricevere l'evento. La destinazione determina il passaggio successivo del flusso di lavoro.
Ad esempio:
- Per inviare un avviso via SMS, puoi utilizzare le funzioni Cloud Run per creare un trigger HTTP autonomo.
- Per un flusso di lavoro più complesso, puoi utilizzare Workflows.
- Se la pipeline Dataflow fa parte di una soluzione più grande che viene eseguita su Google Kubernetes Engine, l'attivatore può inoltrare l'evento a un servizio GKE in esecuzione nel cluster.
Per saperne di più su questo stile di architettura, consulta la sezione Architetture basate su eventi della documentazione di Eventarc.
Crea un trigger
Per creare un trigger Eventarc per le modifiche dello stato del job Dataflow, consulta uno dei seguenti documenti:
- Inoltra gli eventi Dataflow a Cloud Run
- Indirizzare gli eventi Dataflow a Google Kubernetes Engine
- Inoltra gli eventi Dataflow a Workflows
- Creare un trigger per le funzioni Cloud Run
Se vuoi, puoi filtrare gli eventi in base all'ID job Dataflow. Ad esempio, puoi selezionare gli ID job che corrispondono a un'espressione regolare. Per ulteriori informazioni, consulta Informazioni sui pattern di percorso.
Elabora eventi
I dati dell'evento descrivono il job Dataflow al momento dell'attivazione dell'evento. Il payload è simile al tipo di risorsa Job
, con i campi steps
, pipeline_description
e transform_name_mapping
omessi. Inoltre, a seconda dello stato del job, alcuni campi potrebbero non essere presenti.
Di seguito è riportato un esempio di payload:
{
"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"
}
Per ulteriori informazioni sugli stati dei job, consulta i seguenti argomenti: