Activadores de Pub/Sub (1ª gen.)
En Cloud Run Functions, un activador de Pub/Sub permite que se llame a una función en respuesta a los mensajes de Pub/Sub. Cuando especificas un activador de Pub/Sub para una función, también especificas un tema de Pub/Sub. Se llamará a tu función cada vez que se publique un mensaje en el tema especificado.
Para que una función use un activador de Pub/Sub, debe implementarse como una función controlada por eventos:
Si usas una función de CloudEvent, los datos de eventos de Pub/Sub se pasan a tu función en el formato de CloudEvents y la carga útil de datos de CloudEvent es del tipo
MessagePublishedData
.Si usas una función en segundo plano, la carga útil de datos de eventos de Pub/Sub se pasa directamente a tu función en el formato
PubsubMessage
.
El repositorio de Eventos de Google contiene recursos adicionales para trabajar con datos de eventos.
Implementación
Puedes especificar un activador de Pub/Sub cuando implementes una función. Consulta Implementa una función de Cloud Run Functions a fin de obtener instrucciones generales para implementar una función, y consulta la siguiente información adicional específica sobre la configuración de activadores de Pub/Sub durante la implementación.
gcloud
Si implementas mediante la CLI de gcloud, las marcas que se muestran a continuación se usan para configurar los activadores de Pub/Sub:
gcloud functions deploy YOUR_FUNCTION_NAME \ --no-gen2 \ --trigger-topic=YOUR_PUBSUB_TOPIC \ [--retry] \ ...
- La marca
--trigger-topic
especifica el tema de Pub/Sub que supervisará el activador. Los mensajes publicados en este tema activarán llamadas a tu función. - La marca
--retry
controla si se reintentan las llamadas a funciones con errores. Consulta Reintenta las funciones controladas por eventos para obtener más información.
Eventos heredados de Pub/Sub
Las funciones heredadas en Cloud Run Functions (1ª gen.) usan un tipo de evento diferente para los activadores de Pub/Sub:
gcloud functions deploy YOUR_FUNCTION_NAME \ --no-gen2 \ --trigger-event=providers/cloud.pubsub/eventTypes/topic.publish \ --trigger-resource=YOUR_PUBSUB_TOPIC \ ...
Este tipo de evento es compatible con funciones heredadas que ya consumen estos eventos. Sin embargo, recomendamos usar la marca --trigger-topic
en su lugar, ya que los tipos de eventos heredados podrían quitarse en el futuro.
Console
Si implementas con la consola de Google Cloud, puedes configurar un activador de Pub/Sub en la sección Activador:
- En el campo Tipo de activador, selecciona Cloud Pub/Sub.
- En el campo Selecciona un tema de Cloud Pub/Sub, elige un tema para que el activador lo supervise o selecciona Crear un tema para abrir una ventana y crear uno nuevo. Cuando se publica un mensaje en el tema de tu función, se activa una llamada a tu función.
- Selecciona o desmarca la casilla de verificación Reintentar en caso de error para controlar si las llamadas a funciones con errores se reintentan automáticamente. Consulta Reintenta las funciones controladas por eventos para obtener más información.
Próximos pasos
- Obtén información sobre cómo escribir funciones controladas por eventos.
- Aprende a implementar una función de Cloud Run Functions.
- Consulta el instructivo de Pub/Sub para ver un ejemplo de escritura, implementación y llamada a una función con un activador de Pub/Sub.