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.
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 deployYOUR_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 deployYOUR_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.
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.