Activadores de segundos con Cloud Logging
Muchos eventos de Google Cloud se ingresan en los Registros de auditoría de Cloud. Puedes filtrar estos registros y reenviarlos a los temas de Pub/Sub con receptores. Luego, estos temas de Pub/Sub pueden enviar notificaciones que activan Cloud Run Functions. Esto te permite crear eventos personalizados desde cualquier servicio de Google Cloud que produzca registros de auditoría.
Realiza la configuración
Para ejecutar la muestra de este documento, necesitarás un tema de Pub/Sub y un receptor de Cloud Logging. La muestra los usa para reenviar Registros de auditoría de Cloud a una función de Cloud Run.
Estructura de eventos
Como ocurre con todas las funciones activadas por Pub/Sub, las que se activan mediante entradas de registro de Cloud reciben un objeto PubsubMessage cuyo parámetro data es una string codificada en base64. En el caso de los eventos de registro de Cloud, la decodificación de este valor muestra la entrada de registro pertinente como una string JSON.
Código de muestra
Puedes usar una función activada por Pub/Sub para detectar registros de Cloud exportados y responder a ellos:
Node.js
Python
Go
Java
Implementa una función
Ejecuta el siguiente comando para implementar la función:
Node.js
gcloud functions deploy processLogEntry \ --runtime nodejs22 \
--trigger-topic YOUR_PUBSUB_TOPIC/
FLAGS...
Usa la marca --runtime
y especifica el ID del entorno de ejecución de una
versión compatible de Node.js para
ejecutar la función.
Python
gcloud functions deploy process_log_entry \ --runtime python312 \
--trigger-topic YOUR_PUBSUB_TOPIC/
FLAGS...
Usa la marca --runtime
para especificar el ID del entorno de ejecución de
una versión compatible de Python para
ejecutar la función.
Go
gcloud functions deploy ProcessLogEntry \ --runtime go121 \
--trigger-topic YOUR_PUBSUB_TOPIC/
FLAGS...
Usa la marca --runtime
para especificar el ID del entorno de ejecución de una
versión compatible de Go para ejecutar
la función.
Java
gcloud functions deploy java-log-function \ --entry-point StackdriverLogging \ --runtime java17 \ --memory 512MB \
--trigger-topic YOUR_PUBSUB_TOPIC/
FLAGS...
Usa la marca --runtime
para especificar el ID del entorno de ejecución de
una versión compatible de Java para
ejecutar la función.
Activa una función
Cuando se crea una entrada de registro de Cloud que coincide con uno de tus filtros, deberías consultar las entradas de registro correspondientes para tu función:
Method: METHOD Resource: projects/YOUR_GCLOUD_PROJECT/... Initiator: YOUR_EMAIL_ADDRESS