Activadores de funciones

Después de crear e implementar tu función con Cloud Run, puedes configurar esta 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 de CloudEvent: Reaccionan a los eventos dentro de tu proyecto de Google Cloud y corresponden a las funciones de CloudEvents (también llamadas funciones controladas por eventos). 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 que reaccione a eventos dentro de tu proyecto de Google Cloud , especifica activadores como parte de la implementación de la función en la consola de Google Cloud o después de que se implemente la función cuando uses gcloud CLI.

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 de CloudEvents 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 de CloudEvent cuando tu función se debe activar directamente en respuesta a eventos dentro de tu proyecto de Google Cloud . 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.