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:
Activadores de CloudEvent:
- Eventos de Pub/Sub activados por Eventarc
- Eventos de Cloud Storage activados por Eventarc
- Eventos de Firestore activados por Eventarc
- Activadores generales de Eventarc
- Admite cualquier tipo de evento compatible con Eventarc, incluidas más de 90 fuentes de eventos a través de los Registros de auditoría de Cloud
Activadores HTTP:
- Invoca con una solicitud HTTP
- Cómo invocar servicios como parte de un flujo de trabajo con Workflows
- Invocar servicios según un programa con Cloud Scheduler
- Usa Cloud Tasks para ejecutar tareas asíncronas
- Cómo activar servicios desde una suscripción de envío a Pub/Sub
- Ten en cuenta que los mensajes de Pub/Sub se pueden enrutar directamente a una función a través de solicitudes HTTP o unirlos en Eventarc como un activador de CloudEvent.
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.