Activadores de funciones de Cloud Run

Después de crear e implementar tu función de Cloud Run, puedes configurarla para que se ejecute en respuesta a varias situaciones si especificas un activador. En esta página, se proporciona una descripción general de los activadores que admite Cloud Run.

Tipos de activadores

De forma predeterminada, todas las funciones que se implementan en Cloud Run son servicios implementados desde la fuente de Cloud Run que tienen un extremo HTTP (URL run.app).

La forma en que se invoca o activa tu función depende del tipo de función que especifiques cuando escribas tu código.

  • Activadores basados en eventos: Reaccionan a los eventos dentro de tu Google Cloud proyecto y corresponden a funciones controladas por eventos (también llamadas funciones de CloudEvent). Debes usar Eventarc, la implementación de Google de la especificación de CloudEvents que admite la compilación de arquitecturas basadas en eventos, para activar funciones en respuesta a eventos especificados.
  • Activadores HTTP: Reaccionan a las solicitudes HTTP(S) y corresponden a funciones HTTP. Puedes usar otros servicios deGoogle Cloud (que no sean de Eventarc) como proveedor de eventos para invocar la función a través de solicitudes HTTP(S).

Para activar una función para que reaccione a eventos dentro de tu Google Cloud proyecto, especifica activadores como parte de la implementación de la función en la Google Cloud consola o después de que se implemente la función cuando uses la CLI de gcloud.

No puedes vincular la misma función a más de un activador a la vez, pero puedes hacer que el mismo evento ejecute varias funciones mediante la implementación de varias funciones con la misma configuración de activador.

Ejemplos de activadores

Los siguientes son ejemplos de activadores compatibles con las funciones de Cloud Run:

Todas las funciones controladas por eventos usan Eventarc para la entrega de eventos. Los activadores de Pub/Sub y los activadores de Cloud Storage se implementan como tipos particulares de activadores de Eventarc.

Activadores adicionales con Pub/Sub y webhooks

Debido a que las funciones de Cloud Run se pueden activar mediante mensajes en un tema de Pub/Sub, puedes integrarlas en cualquier otro servicio de Google que admita Pub/Sub como un bus de eventos. Además, mediante activadores HTTP, también puedes integrarlo en cualquier servicio que proporcione devoluciones de llamada (webhooks) de HTTP. En las siguientes secciones, se describen algunas integraciones de ejemplo.

Cloud Logging

Cloud Logging puede enrutar registros a un tema de Pub/Sub, donde Cloud Run Functions puede consumirlos. Consulta Configura y administra receptores en la documentación de Cloud Logging para obtener más información.

Cloud Scheduler

Para programar una función HTTP, crea un trabajo de Cloud Scheduler que active una acción con HTTP.

También puedes programar una función controlada por eventos cuando tu función se debe activar directamente en respuesta a eventos dentro de tu Google Cloud proyecto. Por ejemplo, cuando se publica un mensaje en un tema de Pub/Sub.

Cloud Tasks

Las tareas de destino HTTP de Cloud Tasks te permiten ejecutar controladores de tareas en cualquier extremo HTTP, por lo que se puede usar una función de HTTP con un activador HTTP como controlador de tareas. También puedes usar tareas para regular o limitar la frecuencia de la invocación de funciones. Consulta Crea tareas de destino HTTP en la documentación de Cloud Tasks para obtener más información.

Gmail

Con la API de notificaciones push de Gmail, puedes enviar eventos de Gmail a un tema de Pub/Sub y consumirlos con Cloud Run.