Puedes usar un activador de Eventarc para ejecutar un flujo de trabajo como resultado de un evento o un conjunto de eventos. Los eventos se enrutan desde un proveedor de eventos a los receptores de eventos interesados.
Eventarc entrega eventos al receptor de eventos en el formato de CloudEvents a través de una solicitud HTTP. El servicio de Workflows convierte el evento en un objeto JSON (según la especificación de CloudEvents) y pasa el evento a la ejecución del flujo de trabajo como un argumento del entorno 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 activarás Workflows con eventos de BigQuery a través de Registros de auditoría de Cloud.
- En respuesta a eventos directos, como una actualización de un bucket 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 activas Workflows 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 activas Workflows con mensajes de Pub/Sub.
Ten en cuenta lo siguiente:
Los eventos se consideran entregados en cuanto comienza la ejecución del flujo de trabajo, y la ejecución real se realiza de forma asíncrona en los servicios de Workflows.
Las ejecuciones activadas por eventos no se vuelven a intentar si se inicia la ejecución del flujo de trabajo, pero luego falla. Para obtener más información, consulta la política de reintento de eventos.
El período de anulación de duplicación de Workflows para garantizar el procesamiento de eventos exactamente una vez es de 24 horas.
Cuando uses Workflows como destino para 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 proyectos protegidos por un perímetro de servicio, cuando enrutas eventos a destinos de Workflows para los que el extremo de envío de Pub/Sub está configurado en una ejecución de Workflows, solo puedes crear suscripciones de envío de Pub/Sub nuevas mediante Eventarc. Ten en cuenta que la cuenta de servicio que se usa para la autenticación de envío para el extremo de Workflows debe incluirse en el perímetro de servicio. Para obtener más información, consulta Cómo configurar un perímetro de servicio con los Controles del servicio de VPC.
Crear un activador mediante Google Cloud CLI
Para crear un activador, ejecuta un comando gcloud eventarc triggers create
junto con las marcas obligatorias y opcionales.
Si deseas obtener más información, consulta las instrucciones de gcloud en la sección “Crea un activador” cuando crees un activador para un proveedor, un tipo de evento y Workflows específicos.
Crear un activador mediante Console
En los siguientes pasos, se muestra cómo crear un activador en la página Workflows de la consola de Google Cloud.
Antes de comenzar
-
Enable the Eventarc and Pub/Sub APIs.
Crea una cuenta de servicio para que Eventarc pueda realizar solicitudes a la API de Workflows:
En la consola de Google Cloud, ve a la página Cuentas de servicio.
Selecciona un proyecto y, luego, haz clic en Crear cuenta de servicio.
En el campo Nombre de cuenta de servicio, ingresa un nombre de entre 6 y 30 caracteres.
Puede contener guiones y caracteres alfanuméricos en minúscula. Después de crear una cuenta de servicio, no podrás cambiar su nombre.
Haz clic en Crear y continuar.
Otorga a tu cuenta de servicio nueva 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 app de producción, siempre otorga los roles menos permisivos posibles. Para obtener más información, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Haz clic en Listo.
Para permitir que la principal que ejecutará tus comandos de Eventarc pueda actuar como una cuenta de servicio de Identity and Access Management (IAM), otorga un rol que le permita a la principal suplantar la identidad de la cuenta de servicio.
Configura el activador
Si aún no tienes un flujo de trabajo que quieras activar, crea y, luego, impleméntalo.
En la consola de Google Cloud, ve a la página Workflows.
En la página Workflows, 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 Agregar activador nuevo > Eventarc.
Se abrirá el panel Evento de Eventarc.
Sigue las instrucciones para crear un activador para un proveedor, un tipo de evento y un destinoWorkflows específicos y consulta las instrucciones de la consola en la sección “Crea un activador”.
Selecciona la cuenta de servicio que invoca tu flujo de trabajo.
Esto especifica la cuenta de servicio de IAM a la que otorgaste previamente el rol
workflows.invoker
para que la cuenta tenga permiso para activar tu flujo de trabajo.Haz clic en Guardar activador.
El activador de Eventarc aparece en la pestaña Activadores de la página Detalles de flujos de trabajo.
Si quieres actualizar o borrar 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 deseas actualizar o borrar.
- Haz clic en edit Editar recurso o delete Borrar recurso.
Ahora, la ejecución de tu flujo de trabajo se activa con los eventos que coinciden con los criterios de filtro del activador.
Crea un activador con Terraform
Puedes crear un activador para un flujo de trabajo con Terraform. Para obtener más detalles, consulta Activa un flujo de trabajo con Eventarc y Terraform.