En este documento, se describe cómo crear flujos de trabajo basados en eventos y activados por cambios de estado en tus trabajos de Dataflow.
Por ejemplo, tu flujo de trabajo podría hacer lo siguiente:
- Enviar una alerta a un ingeniero de guardia si falla un trabajo esencial
- Notificar a los usuarios cuando se complete un trabajo por lotes o se inicie otro trabajo de Dataflow
- Liberar los recursos que usa un trabajo, como los buckets de Cloud Storage
Descripción general
Eventarc es un servicio de Google Cloud que puede escuchar eventos de otros servicios y enrutarlos a varios destinos.
Cuando ejecutas un trabajo de Dataflow, este pasa por varios
estados, como JOB_STATE_QUEUED
, JOB_STATE_RUNNING
y JOB_STATE_DONE
.
La integración de Dataflow con Eventarc te permite activar una
acción cuando un trabajo cambia de estado.
Debido a que Eventarc es un servicio administrado, no necesitas aprovisionar ni administrar la infraestructura subyacente.
Antes de comenzar
- 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.
-
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.
Para usar la API de Eventarc, el proyecto debe tener suficiente cuota. Además, la cuenta de servicio asociada con el activador de Eventarc debe tener los permisos adecuados.
Elige el destino de un evento
Elige un destino de evento para recibirlo. El destino determina el siguiente paso en tu flujo de trabajo.
Por ejemplo:
- Para enviar una alerta por SMS, puedes usar las funciones de Cloud Run para crear un activador HTTP independiente.
- Para un flujo de trabajo más complejo, puedes usar Workflows.
- Si tu canalización de Dataflow es parte de una solución más grande que se ejecuta en Google Kubernetes Engine, el activador puede enrutar el evento a un servicio de GKE que se ejecuta en tu clúster.
Para obtener más información sobre este estilo de arquitectura, consulta Arquitecturas controladas por eventos en la documentación de Eventarc.
Crear un activador
Si quieres crear un activador de Eventarc para los cambios de estado de trabajos de Dataflow, consulta uno de los siguientes documentos:
- Enruta eventos de Dataflow a Cloud Run
- Enruta eventos de Dataflow a Google Kubernetes Engine
- Enruta eventos de Dataflow a Workflows
- Crea un activador para las funciones de Cloud Run
De manera opcional, puedes filtrar eventos por ID de trabajo de Dataflow. Por ejemplo, puedes seleccionar los IDs de trabajo que coincidan con una expresión regular. Para obtener más información, consulta Información sobre los patrones de ruta de acceso.
Procesa eventos
Los datos del evento describen el trabajo de Dataflow en el momento en que se activó el
evento. La carga útil es similar al
tipo de recurso Job
,
con los campos steps
, pipeline_description
y transform_name_mapping
omitidos. Además, según el estado del trabajo, es posible que algunos campos no estén presentes.
A continuación, se muestra una carga útil de ejemplo:
{
"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"
}
Para obtener más información sobre los estados de trabajo, consulta los siguientes temas: