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 la 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 basada en eventos:
Si usas una función de CloudEvent, los datos de eventos de Pub/Sub se pasan a la 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 pasará directamente a la función en el formato
PubsubMessage.
El repositorio de eventos de Google incluye 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 para obtener instrucciones generales sobre cómo implementar una función. Además, puedes consultar la siguiente información adicional específica sobre la configuración de activadores de Pub/Sub durante la implementación.
gcloud
Si realizas implementaciones con la gcloud CLI , 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-topicespecifica el tema de Pub/Sub que el activador supervisará. Los mensajes publicados en este tema activarán las llamadas a la función. - La
marca
--retrycontrola si se reintentan automáticamente las llamadas a funciones con errores. Consulta Reintenta las funciones basadas en 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, te recomendamos usar la marca --trigger-topic en su lugar, ya
que los tipos de eventos heredados podrían quitarse en el futuro.
Consola
Si realizas implementaciones 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 la función, se activa una llamada a esta.
- Selecciona o desmarca la casilla de verificación Volver a intentar en caso de error para controlar si las llamadas a funciones con errores se deben reintentar automáticamente. Consulta Reintenta las funciones basadas en eventos para obtener más información.
Próximos pasos
- Obtén información para escribir funciones basadas en eventos.
- Aprende a implementar una función de Cloud Run.
- Consulta el instructivo de Pub/Sub para ver un ejemplo de cómo escribir, implementar y llamar a una función con un activador de Pub/Sub.