在本機測試函式
本指南說明如何使用 gcloud functions 指令,從原始碼在本機呼叫函式。如要瞭解如何使用 Functions Framework 在本機開發及測試 Cloud Run 函式,請參閱本機函式開發作業。
如要支援使用 Cloud Functions 第 2 代 API 建立的函式快速疊代和偵錯,您可以在指令列介面中使用 call 指令。您可以直接叫用函式,確保函式運作正常。即使函式已部署為回應特定事件,也會立即執行。
使用 Google Cloud CLI 測試函式
如要使用 gcloud CLI 直接叫用函式,請使用 gcloud functions call 指令,並在 --data 引數中以 JSON 格式提供函式預期的任何資料。例如:
gcloud functions call YOUR_FUNCTION_NAME \
--region=REGION --gen2 \
--data '{"name":"Kalani"}'
取代:
- YOUR_FUNCTION_NAME:要測試的函式名稱
- REGION:函式部署的 Google Cloud 區域
--data 引數會以如下方式傳送至函式:
- 如果是 HTTP 函式,您提供的資料會以 POST 要求內文的形式傳送。
- 如果是事件驅動函式,資料會直接以事件資料的形式傳遞至函式。
詳情請參閱 gcloud functions call 說明文件。
Cloud Pub/Sub 事件驅動函式範例
這個範例說明如何直接叫用由 Pub/Sub 事件觸發的事件驅動函式:
Node.js
Python
Go
Java
C#
Ruby
PHP
如要直接叫用函式,請傳送 PubsubMessage,這會將 base64 編碼資料做為事件資料:
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'"}'
這個 CLI 範例使用 bash 或 sh 語法。適用於 Linux 和 Mac 環境,但不適用於 Windows。