Activa un flujo de trabajo con eventos o mensajes de Pub/Sub

Puedes usar un activador de Eventarc para ejecutar un flujo de trabajo como un resultado de un evento o un conjunto de eventos. Los eventos se enrutan desde un evento para 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 la a un objeto JSON (siguiendo el Especificación de CloudEvents) y pasa el evento 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 para activar Workflows con eventos de BigQuery con Registros de auditoría de Cloud.
  • En respuesta a eventos directos, como una actualización a una instancia 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 activarás Workflows con las funciones directas desde Cloud Storage.
  • Por mensajes publicados en un tema de Pub/Sub Por ejemplo, consulta esta de inicio rápido, en la que puedes activar Workflows Mensajes de Pub/Sub.

Ten en cuenta lo siguiente:

  • Los eventos se consideran entregados tan pronto como comienza la ejecución del flujo de trabajo. la ejecución real se realiza de forma asíncrona en los Workflows de Google Cloud.

  • Las ejecuciones activadas por eventos no se reintentan si la ejecución del flujo de trabajo se inicia, pero luego falla. Para obtener más información, consulta la Política de reintento de eventos.

  • La ventana de anulación de duplicación de Workflows para garantizar el seguimiento “exactamente una vez” el procesamiento de eventos es de 24 horas.

  • Cuando usas Workflows como destino de un Activador de Eventarc, eventos superiores al máximo El tamaño del argumento de Workflows no activará 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 se enrutan eventos a Destinos de Workflows para los que Pub/Sub de envío se configura en una ejecución de Workflows, solo puedes crear nuevas suscripciones de envío de Pub/Sub a través de Eventarc. Ten en cuenta que la cuenta de servicio que se usa la autenticación para el extremo de Workflows debe incluirse en en el perímetro de servicio. Para obtener más información, consulta Configura 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.

Para obtener más información, consulta las instrucciones de gcloud en la sección “Crea un activador" cuando crear 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 el Página Flujos de trabajo en la consola de Google Cloud.

Antes de comenzar

  1. Habilita las API de Eventarc and Pub/Sub.

    Habilita las API

  2. Crear una cuenta de servicio para que Eventarc pueda realizar solicitudes a la API de Workflows:

    1. En la consola de Google Cloud, ve a la página Cuentas de servicio.

      Ir a Cuentas de servicio

    2. Selecciona un proyecto y haz clic en Crear cuenta de servicio.

    3. En el campo Nombre de la cuenta de servicio, ingresa un nombre que esté entre 6 y 30 caracteres.

      Puede contener caracteres alfanuméricos en minúscula y guiones. Después de crear una cuenta de servicio, no podrás cambiar su nombre.

    4. Haz clic en Crear y continuar.

    5. Otorga a tu nueva cuenta de servicio workflows.invoker para que tiene permiso para activar tu flujo de trabajo. En el cuadro de diálogo Selecciona un rol, selecciona Flujos de trabajo > Invocador de flujos de trabajo.

      Si estás desarrollando una app de producción, otorga siempre los roles menos permisivos como sea posible. Para obtener más información, consulta Administra el acceso a proyectos, carpetas y organizaciones.

    6. Haz clic en Listo.

  3. Para permitir que la principal que ejecutará tu Eventarc comandos la capacidad de actuar como un servicio de Identity and Access Management (IAM) cuenta, otorgar un rol que permita a la principal actuar en nombre de la cuenta de servicio.

Configura el activador

  1. Si aún no tienes un flujo de trabajo que quieras activar, crear e implementar una.

  2. En la consola de Google Cloud, ve a la página Workflows.

    Ir a Workflows

  3. En la página Workflows, selecciona un flujo de trabajo para ir a sus detalles. .

  4. En la página Detalles del flujo de trabajo, haz clic en Editar.

  5. En la página Editar flujo de trabajo, selecciona Agregar activador nuevo >. Eventarc.

    Se abrirá el panel Evento de Eventarc.

  6. 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”.

  7. Selecciona la Cuenta de servicio que invoca tu flujo de trabajo.

    Esto especifica la cuenta de servicio de IAM a la que se le otorgó previamente el rol workflows.invoker para que la cuenta tenga permiso para activar tu flujo de trabajo.

  8. Haz clic en Guardar activador.

    El activador de Eventarc aparece en la lista de Activadores de la página Detalles de flujos de trabajo.

  9. Si deseas actualizar o borrar el activador, debes editar el flujo de trabajo:

    1. En la página Detalles del flujo de trabajo, haz clic en Editar.
    2. En la sección Activadores, busca el activador que deseas actualizar. borrar.
    3. Haz clic en Editar recurso. Borrar recurso.

La ejecución de tu flujo de trabajo ahora se activa con los eventos que coinciden con la prioridad de tu activador. criterios de filtro.

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.

¿Qué sigue?