在本機測試函式
本指南說明如何使用 gcloud functions
指令,從原始碼在本機呼叫函式。如要瞭解如何使用 Functions Framework 在本機開發及測試 Cloud Run 函式,請參閱本機函式開發作業。
如要支援使用 Cloud Functions v2 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。