在本機測試函式
本指南說明如何使用 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。