Pemicu Pihak Kedua dengan Cloud Logging
Banyak peristiwa Google Cloud yang dicatat ke dalam log di Cloud Audit Logs. Anda dapat memfilter log tersebut dan meneruskannya ke topik Pub/Sub menggunakan sink. Topik Pub/Sub ini selanjutnya dapat mengirimkan notifikasi yang memicu fungsi Cloud Run. Dengan begitu, Anda dapat membuat peristiwa kustom dari layanan Google Cloud mana pun yang menghasilkan log audit.
Konfigurasi
Untuk menjalankan contoh dalam dokumen ini, Anda memerlukan topik Pub/Sub dan sink Cloud Logging. Contoh menggunakannya untuk meneruskan Cloud Audit Logs ke fungsi Cloud Run.
Struktur peristiwa
Seperti semua fungsi yang dipicu Pub/Sub, fungsi yang dipicu oleh entri log Cloud menerima objek PubsubMessage
yang parameter data
-nya adalah String berenkode base64
. Untuk peristiwa log Cloud, mendekode nilai ini akan menampilkan entri log yang relevan sebagai string JSON.
Kode contoh
Anda dapat menggunakan fungsi yang dipicu Pub/Sub untuk mendeteksi dan merespons log Cloud yang diekspor:
Node.js
Python
Go
Java
Men-deploy fungsi
Gunakan perintah berikut untuk men-deploy fungsi:
Node.js
gcloud functions deploy processLogEntry \ --runtime nodejs22 \
--trigger-topic YOUR_PUBSUB_TOPIC/
FLAGS...
Gunakan flag --runtime
untuk menentukan ID runtime dari versi Node.js yang didukung untuk menjalankan fungsi Anda.
Python
gcloud functions deploy process_log_entry \ --runtime python312 \
--trigger-topic YOUR_PUBSUB_TOPIC/
FLAGS...
Gunakan flag --runtime
untuk menentukan ID runtime
versi Python yang didukung untuk menjalankan
fungsi Anda.
Go
gcloud functions deploy ProcessLogEntry \ --runtime go122 \
--trigger-topic YOUR_PUBSUB_TOPIC/
FLAGS...
Gunakan flag --runtime
untuk menentukan ID runtime versi Go yang didukung untuk menjalankan fungsi Anda.
Java
gcloud functions deploy java-log-function \ --entry-point StackdriverLogging \ --runtime java21 \ --memory 512MB \
--trigger-topic YOUR_PUBSUB_TOPIC/
FLAGS...
Gunakan flag --runtime
untuk menentukan ID runtime versi Java yang didukung untuk menjalankan fungsi Anda.
Memicu fungsi
Saat entri log Cloud yang cocok dengan salah satu filter dibuat, Anda akan melihat entri log yang sesuai untuk fungsi Anda:
Method: METHOD Resource: projects/YOUR_GCLOUD_PROJECT/... Initiator: YOUR_EMAIL_ADDRESS