Setelah membuat dan men-deploy fungsi dengan Cloud Run, Anda dapat menetapkan fungsi untuk dieksekusi sebagai respons terhadap berbagai skenario dengan menentukan pemicu.
Halaman ini memberikan ringkasan pemicu yang didukung oleh fungsi Cloud Run.
Jenis pemicu
Secara default, semua fungsi yang di-deploy di Cloud Run adalah
layanan yang di-deploy dari sumber Cloud Run
yang memiliki endpoint HTTP (URL run.app
).
Cara fungsi dipanggil atau dipicu bergantung pada jenis fungsi yang Anda tentukan saat menulis kode.
- Pemicu CloudEvent Bereaksi terhadap peristiwa dalam project Google Cloud Anda dan sesuai dengan fungsi CloudEvents (juga disebut fungsi berbasis peristiwa). Anda harus menggunakan Eventarc, implementasi spesifikasi CloudEvents Google yang mendukung pembuatan arsitektur berbasis peristiwa, untuk memicu fungsi sebagai respons terhadap peristiwa yang ditentukan.
- Pemicu HTTP: Bereaksi terhadap permintaan HTTP(S) dan sesuai dengan fungsi HTTP. Anda dapat menggunakan layanan Google Cloud lainnya (non-Eventarc) sebagai penyedia peristiwa untuk memanggil fungsi melalui permintaan HTTP(S).
Untuk memicu fungsi agar bereaksi terhadap peristiwa dalam project Google Cloud, Anda menentukan pemicu sebagai bagian dari deployment fungsi di konsol Google Cloud atau setelah fungsi di-deploy saat menggunakan gcloud CLI.
Anda tidak dapat mengikat fungsi yang sama ke lebih dari satu pemicu sekaligus, tetapi Anda dapat membuat peristiwa yang sama menyebabkan beberapa fungsi dieksekusi dengan men-deploy beberapa fungsi dengan setelan pemicu yang sama.
Contoh pemicu
Berikut adalah contoh pemicu yang didukung oleh fungsi Cloud Run:
Pemicu CloudEvent:
- Peristiwa Pub/Sub yang dipicu oleh Eventarc
- Peristiwa Cloud Storage yang dipicu oleh Eventarc
- Peristiwa Firestore yang dipicu oleh Eventarc
- Pemicu Eventarc umum
- Mendukung semua jenis peristiwa yang didukung oleh Eventarc, termasuk lebih dari 90 sumber peristiwa yang menggunakan Cloud Audit Logs
Pemicu HTTP:
- Memanggil dengan permintaan HTTP
- Memanggil layanan sebagai bagian dari alur kerja dengan Workflows
- Memanggil layanan sesuai jadwal dengan Cloud Scheduler
- Menggunakan Cloud Tasks untuk menjalankan tugas asinkron
- Memicu layanan dari langganan push Pub/Sub
- Perhatikan bahwa pesan Pub/Sub dapat dirutekan langsung ke fungsi melalui permintaan HTTP, atau digabungkan dalam Eventarc sebagai pemicu CloudEvent.
Semua fungsi CloudEvents menggunakan Eventarc untuk pengiriman peristiwa. Pemicu Pub/Sub dan pemicu Cloud Storage diimplementasikan sebagai jenis pemicu Eventarc tertentu.
Pemicu tambahan menggunakan Pub/Sub dan webhook
Karena fungsi Cloud Run dapat dipicu oleh pesan pada topik Pub/Sub, Anda dapat mengintegrasikan fungsi Cloud Run dengan layanan Google lainnya yang mendukung Pub/Sub sebagai bus peristiwa. Selain itu, dengan menggunakan pemicu HTTP, Anda juga dapat berintegrasi dengan layanan apa pun yang menyediakan callback HTTP (webhook). Bagian berikut menjelaskan beberapa contoh integrasi.
Cloud Logging
Cloud Logging dapat merutekan log ke topik Pub/Sub, yang kemudian dapat dipakai oleh fungsi Cloud Run. Lihat Mengonfigurasi dan mengelola sink dalam dokumentasi Cloud Logging untuk mengetahui informasi selengkapnya.
Cloud Scheduler
Anda dapat menjadwalkan fungsi HTTP dengan membuat tugas Cloud Scheduler yang memicu tindakan menggunakan HTTP.
Anda juga dapat menjadwalkan fungsi CloudEvent jika fungsi harus dipicu secara langsung sebagai respons terhadap peristiwa dalam project Google Cloud; misalnya, saat pesan dipublikasikan ke topik Pub/Sub.
Cloud Tasks
Dengan tugas Target HTTP Cloud Tasks, Anda dapat menjalankan pengendali tugas di endpoint HTTP mana pun, sehingga fungsi HTTP dengan pemicu HTTP dapat digunakan sebagai pengendali tugas. Anda juga dapat menggunakan tugas untuk men-throttle atau membatasi kapasitas pemanggilan fungsi. Lihat Membuat tugas Target HTTP dalam dokumentasi Cloud Tasks untuk mengetahui informasi selengkapnya.
Gmail
Dengan menggunakan Push Notification API Gmail, Anda dapat mengirim peristiwa Gmail ke topik Pub/Sub dan menggunakannya dengan Cloud Run.