Memanggil Cloud Functions secara langsung
Untuk mendukung iterasi dan proses debug yang cepat, Cloud Functions menyediakan perintah call
dalam antarmuka command line dan fungsi pengujian di UI Google Cloud Console. Ini memungkinkan Anda memanggil fungsi secara langsung untuk memastikan bahwa fungsi tersebut berperilaku seperti yang diharapkan. Hal ini menyebabkan fungsi segera dijalankan, meskipun mungkin telah di-deploy untuk merespons peristiwa tertentu.
Menguji fungsi dengan Google Cloud CLI
Generasi ke-1
Untuk memanggil fungsi generasi ke-1 secara langsung menggunakan gcloud CLI, gunakan perintah gcloud functions call
dan masukkan data apa pun yang diharapkan fungsi Anda sebagai JSON dalam argumen --data
. Contoh:
gcloud functions call YOUR_FUNCTION_NAME --data '{"name":"Tristan"}'
dengan YOUR_FUNCTION_NAME
adalah nama fungsi
yang ingin Anda jalankan. Argumen --data
dikirim ke fungsi Anda sebagai berikut:
- Untuk fungsi HTTP, data yang Anda berikan akan dikirim sebagai isi permintaan POST.
- Untuk fungsi latar belakang, data diteruskan secara langsung sebagai data peristiwa ke fungsi Anda. Untuk mengetahui informasi lebih lanjut tentang cara mengakses data peristiwa di fungsi background, baca Parameter fungsi background.
- Untuk fungsi CloudEvent, data diteruskan secara langsung sebagai data peristiwa ke fungsi Anda. Untuk mengetahui informasi selengkapnya tentang cara mengakses data peristiwa dalam fungsi CloudEvent, lihat parameter fungsi CloudEvent.
Generasi ke-2
Untuk memanggil fungsi generasi ke-2 secara langsung menggunakan gcloud CLI, gunakan perintah gcloud functions call
versi generasi ke-2 dan masukkan data apa pun yang diharapkan fungsi Anda sebagai JSON dalam argumen --data
. Contoh:
gcloud functions call YOUR_FUNCTION_NAME \
--region=REGION --gen2 \
--data '{"name":"Kalani"}'
Ganti:
- YOUR_FUNCTION_NAME: nama fungsi yang Anda uji
- REGION: region Google Cloud tempat fungsi Anda di-deploy
Argumen --data
dikirim ke fungsi Anda sebagai berikut:
- Untuk fungsi HTTP, data yang Anda berikan akan dikirim sebagai isi permintaan POST.
- Untuk fungsi CloudEvent, data diteruskan secara langsung sebagai data peristiwa ke fungsi Anda. Untuk mengetahui informasi selengkapnya tentang cara mengakses data peristiwa dalam fungsi CloudEvent, lihat parameter fungsi CloudEvent.
Untuk informasi selengkapnya, lihat dokumentasi gcloud functions call
.
Menguji fungsi dengan Konsol Google Cloud
Untuk memanggil fungsi secara langsung dari Konsol Google Cloud, ikuti langkah-langkah berikut:
Generasi ke-1
Klik nama fungsi yang ingin dipanggil.
Klik tab Pengujian.
Di kolom Konfigurasi Peristiwa Pemicuan, masukkan data apa pun yang diharapkan fungsi Anda sebagai JSON.
Klik Uji fungsi.
Respons fungsi akan muncul di kolom Output, dan log untuk eksekusi individu akan muncul di kolom Log.
Generasi ke-2
Dari daftar, klik nama fungsi yang ingin dipanggil. Tindakan ini akan mengarahkan Anda ke halaman Detail fungsi.
Klik tab Pengujian.
Di kolom Konfigurasi Peristiwa Pemicuan, masukkan data apa pun yang diharapkan fungsi Anda sebagai JSON.
Klik tombol +Tambah parameter kueri dan +Tambah parameter header untuk menambahkan parameter kueri dan header ke panggilan fungsi sesuai kebutuhan.
Konsol Google Cloudnsole menyusun parameter yang Anda tentukan ke dalam perintah
gcloud functions call
di jendela perintah pengujian CLI.Pilih Jalankan di cloud shell untuk membuka jendela Cloud Shell guna menjalankan perintah ini.
Tekan Enter untuk memicu perintah
gcloud functions call
setelah muncul di jendela Cloud Shell Anda.
Contoh fungsi berbasis peristiwa Cloud Pub/Sub
Contoh ini menunjukkan cara memanggil secara langsung fungsi berbasis peristiwa generasi ke-1 yang dipicu oleh peristiwa Cloud Pub/Sub:
Node.js
Python
Go
Java
C#
Ruby
PHP
Untuk memanggil fungsi secara langsung, kirim
PubsubMessage
,
yang mengharapkan data berenkode base64, sebagai data peristiwa:
Node.js
DATA=$(printf 'Hello!'|base64) && gcloud functions call helloPubSub --data '{"data":"'$DATA'"}'
Python
DATA=$(printf 'Hello!'|base64) && gcloud functions call hello_pubsub --data '{"data":"'$DATA'"}'
Go
DATA=$(printf 'Hello!'|base64) && gcloud functions call HelloPubSub --data '{"data":"'$DATA'"}'
Java
DATA=$(printf 'Hello!'|base64) && gcloud functions call java-hello-pubsub --data '{"data":"'$DATA'"}'
C#
DATA=$(printf 'Hello!'|base64) && gcloud functions call csharp-hello-pubsub --data '{"data":"'$DATA'"}'
Ruby
DATA=$(printf 'Hello!'|base64) && gcloud functions call hello_pubsub --data '{"data":"'$DATA'"}'
PHP
DATA=$(printf 'Hello!'|base64) && gcloud functions call helloworldPubsub --data '{"data":"'$DATA'"}'
Contoh CLI ini menggunakan sintaksis bash
atau sh
. Ini berfungsi di lingkungan Linux dan Mac, tetapi tidak di Windows.
Anda juga dapat memanggil fungsi ini dari Konsol Google Cloud menggunakan data peristiwa yang sama di kolom Peristiwa pemicu.