Activador con eventos

Eventarc es un servicio de Google Cloud que te permite compilar arquitecturas orientadas a eventos sin tener que implementar, personalizar ni mantener la infraestructura subyacente.

Para crear un activador de Eventarc, especifica filtros para el activador y configura el enrutamiento del evento, incluida la fuente del evento y el servicio de Cloud Run de destino. Cuando el evento o el conjunto de eventos especificados coinciden con los filtros, se invoca automáticamente tu servicio de Cloud Run en respuesta a los eventos.

Los eventos enviados a tu servicio de Cloud Run se reciben en forma de solicitudes HTTP.

Los siguientes tipos de eventos activan solicitudes a tu servicio:

En esta página, se muestra cómo crear un activador para un servicio a través de la página de la consola de Cloud Run. Si deseas obtener instrucciones similares para crear un activador para una función, consulta Implementa funciones en Cloud Run.

También puedes crear un activador de Eventarc con Google Cloud CLI o la página de la consola de Eventarc. Si necesitas instrucciones para crear un activador para un proveedor, un tipo de evento y un destino específicos, filtra la lista para obtener más información sobre los proveedores y destinos de eventos de Eventarc.

Antes de comenzar

Antes de crear un activador con Eventarc, comprende los roles necesarios para la identidad del activador.

  1. Habilita la API de Eventarc.

    Habilitar la API

  2. Cada activador de Eventarc se asocia a una cuenta de servicio de Identity and Access Management (IAM) en el momento en que se crea el activador. Esta cuenta de servicio se conoce como la cuenta de servicio del activador y se usa para invocar la API de Eventarc. Por ejemplo, para enviar eventos a un servicio de Cloud Run que requiera autenticación, asegúrate de que la identidad del activador tenga el rol de IAM de invocador de Cloud Run (roles/run.invoker).

  3. Si creas un activador para un evento directo desde Cloud Storage, otorga el rol pubsub.publisher a la cuenta de servicio de Cloud Storage:

    SERVICE_ACCOUNT="$(gcloud storage service-agent --project=PROJECT_ID)"
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:${SERVICE_ACCOUNT}" \
        --role='roles/pubsub.publisher'
    

    Reemplaza PROJECT_ID por el ID del proyecto de Google Cloud. Puedes buscar el ID del proyecto en la página de bienvenida de la consola de Google Cloud.

Crear un activador

Después de implementar tu servicio, puedes usar la página de la consola de Cloud Run para crear un activador de Eventarc.

  1. En la consola de Google Cloud ve a Cloud Run.

    Ir a Cloud Run

  2. En la lista de servicios, haz clic en un servicio existente o crea uno nuevo.

  3. En la página de detalles del servicio, haz clic en la pestaña Activadores.

  4. Haz clic en Agregar activador de Eventarc.

    Se abrirá el panel Evento de Eventarc. Para determinar la mejor manera de enrutar eventos, consulta Opciones de enrutamiento de eventos.

  5. Sigue las instrucciones para crear un activador para un proveedor, un tipo de evento y un destino específicos y consulta las instrucciones de la consola en la sección “Crea un activador”.

  6. Selecciona la cuenta de servicio que invoca el servicio de Cloud Run o crea una nueva.

    Esto especifica el correo electrónico de la cuenta de servicio de IAM asociada con el activador. En los destinos de Cloud Run, esta cuenta de servicio se usa para generar tokens de identidad cuando se invoca el servicio.

  7. De manera opcional, especifica la ruta de URL del servicio a la que se enviará la solicitud entrante.

    Esta es la ruta relativa en el servicio de destino al que se deben enviar los eventos del activador. Por ejemplo: /, /route, route y route/subroute.

  8. Después de crear el activador, verifica su estado. Para esto, asegúrate de que haya una marca de verificación en la pestaña Activadores.

¿Qué sigue?