Memanggil fungsi Cloud Run secara langsung
Untuk mendukung iterasi dan proses debug yang cepat untuk fungsi yang dibuat dengan Cloud Functions v2 API, fungsi Cloud Run menyediakan 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: Google Cloud region 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 informasi selengkapnya, lihat dokumentasi gcloud functions call
.
Contoh fungsi berbasis peristiwa Cloud Pub/Sub
Contoh ini menunjukkan cara memanggil secara langsung fungsi berbasis peristiwa 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.