Puede usar un activador de Eventarc para ejecutar un flujo de trabajo como resultado de un evento o de un conjunto de eventos. Los eventos se enrutan desde un proveedor de eventos a los receptores de eventos interesados.
Eventarc envía eventos al receptor de eventos en formato CloudEvents a través de una solicitud HTTP. El servicio Workflows convierte el evento en un objeto JSON (siguiendo la especificación de CloudEvents) y lo transfiere a la ejecución del flujo de trabajo como un argumento de tiempo de ejecución del flujo de trabajo.
Se activa una ejecución de tu flujo de trabajo:
- Cuando se crea un registro de auditoría que coincide con los criterios de filtro del activador. Por ejemplo, consulta esta guía de inicio rápido en la que se activan flujos de trabajo con eventos de BigQuery mediante Registros de auditoría de Cloud.
- En respuesta a eventos directos, como una actualización de un segmento de Cloud Storage o una actualización de una plantilla de Firebase Remote Config. Por ejemplo, consulta esta guía de inicio rápido en la que se activan flujos de trabajo con eventos directos de Cloud Storage.
- Por mensajes publicados en un tema de Pub/Sub. Por ejemplo, consulta esta guía de inicio rápido en la que se activan flujos de trabajo con mensajes de Pub/Sub.
Ten en cuenta lo siguiente:
Los eventos se consideran entregados en cuanto se inicia la ejecución del flujo de trabajo, y la ejecución real se lleva a cabo de forma asíncrona en los servicios de Workflows.
Las ejecuciones activadas por eventos no se vuelven a intentar si la ejecución del flujo de trabajo se inicia, pero falla más tarde. Para obtener más información, consulta la política de reintentos de eventos.
La ventana de anulación de duplicados de Workflows para asegurar el procesamiento de eventos exactamente una vez es de 24 horas.
Si usas Workflows como destino de un activador de Eventarc, los eventos que superen el tamaño máximo de argumento de Workflows no activarán las ejecuciones de flujos de trabajo. Para obtener más información, consulta Cuotas y límites.
En los proyectos protegidos por un perímetro de servicio, cuando se enrutan eventos a destinos de Workflows para los que el endpoint de envío de Pub/Sub se ha definido como una ejecución de Workflows, solo se pueden crear suscripciones de envío de Pub/Sub a través de Eventarc. Ten en cuenta que la cuenta de servicio que se usa para la autenticación push del endpoint de Workflows debe incluirse en el perímetro de servicio. Para obtener más información, consulta el artículo Configurar un perímetro de servicio con Controles de Servicio de VPC.
Crear un activador con la CLI de Google Cloud
Para crear un activador, ejecuta un comando gcloud eventarc triggers create
junto con las marcas obligatorias y opcionales.
Para obtener más información, consulta las instrucciones de gcloud en la sección "Crear un activador" cuando crees un activador para un proveedor, un tipo de evento y un destino de Workflows específicos.
Crear un activador con la consola
Sigue estos pasos para crear un activador en la página Flujos de trabajo de la consola de Google Cloud Cloud.
Antes de empezar
-
Enable the Eventarc and Pub/Sub APIs.
Crea una cuenta de servicio para que Eventarc pueda enviar solicitudes a la API de Workflows:
En la Google Cloud consola, ve a la página Cuentas de servicio.
Selecciona un proyecto y, a continuación, haz clic en Crear cuenta de servicio.
En el campo Nombre de cuenta de servicio, escribe un nombre que tenga entre 6 y 30 caracteres.
Puede contener caracteres alfanuméricos en minúscula y guiones. Una vez que hayas creado una cuenta de servicio, no podrás cambiar su nombre.
Haz clic en Crear y continuar.
Asigna a tu nueva cuenta de servicio el rol workflows.invoker para que tenga permiso para activar tu flujo de trabajo. En la lista Seleccionar un rol, selecciona Workflows > Workflows Invoker.
Si desarrollas una aplicación de producción, concede siempre los roles menos permisivos posibles. Para obtener más información, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.
Haz clic en Listo.
Para permitir que el principal que ejecutará tus comandos de Eventarc actúe como una cuenta de servicio de Gestión de Identidades y Accesos (IAM), asigna un rol que permita al principal suplantar la cuenta de servicio.
Configurar el activador
Si aún no tienes un flujo de trabajo que quieras activar, crea y despliega uno.
En la Google Cloud consola, ve a la página Flujos de trabajo:
En la página Workflows (Flujos de trabajo), selecciona un flujo de trabajo para ir a su página de detalles.
En la página Detalles del flujo de trabajo, haz clic en edit Editar.
En la página Editar flujo de trabajo, selecciona Añadir nuevo activador > Eventarc.
Se abrirá el panel Desencadenador de Eventarc.
Sigue las instrucciones para crear un activador para un proveedor, un tipo de evento y unWorkflows destino específicos y consulta las instrucciones de la consola en la sección "Crear un activador".
Selecciona la cuenta de servicio que invoca tu flujo de trabajo.
Especifica la cuenta de servicio de gestión de identidades y accesos a la que le has concedido el rol
workflows.invoker
para que tenga permiso para activar tu flujo de trabajo.Haz clic en Guardar activador.
El activador de Eventarc se muestra en la pestaña Activadores de la página Detalles de Workflows.
Si quieres actualizar o eliminar el activador, debes editar el flujo de trabajo:
- En la página Detalles del flujo de trabajo, haz clic en edit Editar.
- En la sección Activadores, busca el activador que quieras actualizar o eliminar.
- Haz clic en edit Editar recurso o delete Eliminar recurso.
La ejecución del flujo de trabajo se activará con los eventos que coincidan con los criterios de filtro del activador.
Crear un activador con Terraform
Puedes crear un activador para un flujo de trabajo con Terraform. Para obtener más información, consulta el artículo Activar un flujo de trabajo con Eventarc y Terraform.