Después de crear y desplegar tu función de Cloud Run, puedes configurarla para que se ejecute en respuesta a varios escenarios especificando un activador. En esta página se ofrece una descripción general de los activadores compatibles con las funciones de Cloud Run.
Tipos de activadores
De forma predeterminada, todas las funciones desplegadas en Cloud Run son servicios desplegados desde la fuente de Cloud Run que tienen un endpoint HTTP (URL run.app
). Si has creado una función con el comando gcloud functions
o la API Cloud Functions v2, de forma predeterminada, la función tiene un endpoint HTTP cloudfunctions.net
.
La forma en que se invoca o se activa tu función depende del tipo de función que especifiques al escribir el código.
- Activadores basados en eventos: reacciona a los eventos de tu Google Cloud proyecto y se corresponde con las funciones basadas en eventos (también llamadas funciones de CloudEvent). Debes usar Eventarc, la implementación de Google de la especificación CloudEvents que admite la creación de arquitecturas basadas en eventos, para activar funciones en respuesta a eventos especificados.
- Activadores HTTP: reaccionan a las solicitudes HTTP(S) y se corresponden con las funciones HTTP. Puedes usar otros servicios deGoogle Cloud (que no sean Eventarc) como proveedor de eventos para invocar la función mediante solicitudes HTTP(S).
Para activar una función que reaccione a los eventos de tu Google Cloud proyecto, especifica los activadores al desplegar la función en la Google Cloud consola o después de desplegar 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 desplegando varias funciones con los mismos ajustes de activador.
Ejemplos de activadores
Estos son algunos ejemplos de activadores compatibles con Cloud Run Functions:
Activadores basados en eventos:
- Eventos de Pub/Sub activados por Eventarc
- Eventos de Cloud Storage activados por Eventarc
- Eventos de Firestore activados por Eventarc
- Otros activadores de eventos
- Admite cualquier tipo de evento compatible con Eventarc, incluidos más de 90 orígenes de eventos que usan registros de auditoría de Cloud
Activadores HTTP:
- Invocar con una solicitud HTTP
- Invocar servicios como parte de un flujo de trabajo con Workflows
- Invocar servicios según una programación con Cloud Scheduler
- Usar Cloud Tasks para ejecutar tareas asíncronas
- Activar servicios desde una suscripción de inserción de Pub/Sub
- Los mensajes de Pub/Sub se pueden enrutar directamente a una función mediante solicitudes HTTP o envolverse en Eventarc como un activador basado en eventos.
Todas las funciones basadas en eventos usan Eventarc para la entrega de eventos. Los activadores de Pub/Sub y los activadores de Cloud Storage se implementan como tipos concretos de activadores de Eventarc.
Activadores adicionales con Pub/Sub y webhooks
Como las funciones de Cloud Run se pueden activar mediante mensajes de un tema de Pub/Sub, puedes integrar funciones de Cloud Run con cualquier otro servicio de Google que admita Pub/Sub como bus de eventos. Además, al usar activadores HTTP, también puedes integrar cualquier servicio que proporcione retrollamadas HTTP (webhooks). En las siguientes secciones se describen algunos ejemplos de integraciones.
Cloud Logging
Cloud Logging puede enrutar registros a un tema de Pub/Sub, donde las funciones de Cloud Run pueden consumirlos. Para obtener más información, consulta el artículo sobre cómo configurar y gestionar receptores en la documentación de Cloud Logging.
Cloud Scheduler
Puedes programar una función HTTP creando una tarea de Cloud Scheduler que active una acción mediante HTTP.
También puedes programar una función basada en eventos para que se active directamente en respuesta a eventos 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 endpoint HTTP, por lo que se puede usar una función HTTP con un activador HTTP como controlador de tareas. También puedes usar tareas para limitar o controlar la frecuencia de las invocaciones de funciones. Para obtener más información, consulta el artículo Crear tareas de destinos HTTP de la documentación de Cloud Tasks.
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.