Menguji fungsi secara lokal
Panduan ini menunjukkan cara memanggil fungsi secara lokal dari kode sumber
menggunakan perintah gcloud functions. Untuk mempelajari cara mengembangkan dan menguji
Cloud Run Functions secara lokal menggunakan
Functions Framework, lihat Pengembangan fungsi lokal.
Untuk mendukung iterasi dan proses debug yang cepat untuk fungsi yang dibuat
dengan Cloud Functions v2 API, Anda dapat menggunakan perintah call
di antarmuka command line. Hal 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
Untuk memanggil fungsi Anda 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 \
--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 berbasis peristiwa, data diteruskan secara langsung sebagai data peristiwa ke fungsi Anda.
Untuk mengetahui informasi selengkapnya, lihat dokumentasi gcloud functions call.
Contoh fungsi berbasis peristiwa Cloud Pub/Sub
Contoh ini menunjukkan cara memanggil fungsi berbasis peristiwa secara langsung yang dipicu oleh peristiwa 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. Hal ini berfungsi di lingkungan Linux dan Mac, tetapi tidak di Windows.