Tutorial ini menunjukkan cara memicu fungsi Cloud Run berbasis peristiwa menggunakan Cloud Scheduler dan dengan menargetkan topik Pub/Sub. Gunakan fungsi berbasis peristiwa jika fungsi Anda harus dipicu secara langsung sebagai respons terhadap peristiwa dalam project Google Cloud Anda, seperti pesan tentang topik Pub/Sub atau perubahan dalam bucket Cloud Storage.
Perhatikan bahwa Anda juga dapat menjadwalkan fungsi HTTP dengan menargetkan endpoint HTTP fungsi Anda. Gunakan fungsi HTTP jika Anda ingin fungsi memiliki endpoint URL dan merespons permintaan HTTP, seperti untuk webhook. Untuk mengetahui informasi selengkapnya, lihat Jenis fungsi Cloud Run.
Menjadwalkan eksekusi fungsi Cloud Run adalah kasus penggunaan umum untuk Cloud Scheduler. Dalam tutorial ini, Anda akan:
- Buat Cloud Run Function sederhana yang berlangganan topik Pub/Sub.
- Buat tugas Cloud Scheduler yang memublikasikan pesan ke topik Pub/Sub.
- Jalankan tugas Cloud Scheduler.
- Pastikan bahwa Cloud Run Function dipicu oleh tugas Cloud Scheduler.
Membuat fungsi Cloud Run berbasis peristiwa
Buat fungsi berbasis peristiwa yang dipicu secara langsung sebagai respons terhadap peristiwa dalam project Google Cloud Anda; dalam hal ini, pesan yang dipublikasikan ke topik Pub/Sub.
Di Google Cloud konsol, buka halaman Cloud Run functions.
Klik
Create function.Di bagian Dasar-Dasar, lakukan hal berikut:
- Di daftar Environment, pilih 2nd gen.
- Masukkan nama untuk fungsi Anda.
- Di daftar Region, pilih region.
Di bagian Pemicu, lakukan tindakan berikut:
- Dalam daftar Trigger type, pilih Cloud Pub/Sub.
- Di daftar Cloud Pub/Sub topic, pilih topik yang ada atau untuk membuat topik baru, klik Create a topic. Catat nama topik karena Anda akan membutuhkannya pada langkah berikutnya.
Klik Opsi lainnya.
Panel Pemicu Eventarc akan terbuka.
Di panel Pemicu Eventarc, lakukan langkah berikut:
- Jika Anda diminta untuk mengizinkan layanan Pub/Sub membuat token identitas yang diperlukan untuk memanggil fungsi, klik Grant.
- Dalam daftar Service account, pilih akun layanan yang Anda buat sebelumnya.
- Terima setelan default lainnya.
Klik Save trigger.
Panel Pemicu Eventarc akan ditutup.
Terima setelan default lainnya, lalu klik Next.
Jangan ubah bahasa runtime default dan kode contoh. Kode tidak menggunakan layanan cloud apa pun dan tidak memerlukan izin tambahan yang diaktifkan. Klik Deploy.
Buat tugas Cloud Scheduler
Buat tugas Cloud Scheduler dengan target Pub/Sub.
Di konsol Google Cloud , buka halaman Cloud Scheduler.
Klik
Buat tugas.Masukkan nama untuk tugas Anda.
Di daftar Region, pilih region.
Tentukan frekuensi untuk tugas Anda, menggunakan format unix-cron:
30 16 * * 7
Untuk mengetahui informasi selengkapnya, lihat Format cron job dan zona waktu.
Di daftar Zona waktu, pilih zona waktu.
Klik Lanjutkan.
Dalam daftar Target type, pilih Pub/Sub.
Pilih topik Pub/Sub yang Anda buat sebelumnya.
Di kolom Message body, masukkan string yang akan dikirim ke topik target Pub/Sub Anda. Misalnya: "Halo dunia!"
Klik Buat.
Anda telah membuat cron job yang mengirim pesan ke topik Pub/Sub pada pukul 16.30 setiap hari Minggu. Fungsi Cloud Run Anda berlangganan topik tersebut.
Jalankan tugas Cloud Scheduler
Sekarang Anda dapat menjalankan tugas yang Anda buat.
Di konsol Google Cloud , buka halaman Cloud Scheduler.
Centang kotak untuk tugas yang Anda buat, lalu klik Jalankan paksa.
Saat pertama kali dipanggil, tugas pertama yang dibuat dalam project dapat memerlukan waktu beberapa menit untuk dikonfigurasi dan dijalankan.
Setelah tugas berjalan, Status of last execution akan menunjukkan
Success
.
Memverifikasi hasil di fungsi Cloud Run
Anda dapat memverifikasi bahwa fungsi Cloud Run Anda berhasil dipicu dan dieksekusi oleh cron job Anda.
Di Google Cloud konsol, buka halaman Cloud Run functions.
Klik nama fungsi.
Halaman Detail fungsi akan terbuka dan grafik Pemanggilan/Detik akan menampilkan pemanggilan pertama fungsi Anda.
Klik tab Logs.
Anda akan melihat entri log yang mirip dengan
Hello, YOUR_STRING!