Cloud Run functions を直接呼び出す
Cloud Functions v2 API で作成された関数の迅速なイテレーションとデバッグをサポートするために、Cloud Run functions はコマンドライン インターフェースで call
コマンドを提供します。これにより、関数を直接呼び出し、予期した動作を行っているかどうかを確認できます。特定のイベントに応答するように関数がデプロイされている場合でも、関数がすぐに実行されます。
Google Cloud CLI を使用して関数をテストする
gcloud CLI を使用して関数を直接呼び出すには、gcloud functions call
コマンドを使用し、関数が想定する任意のデータを JSON 形式で --data
引数に渡します。例:
gcloud functions call YOUR_FUNCTION_NAME \
--region=REGION --gen2 \
--data '{"name":"Kalani"}'
次のように置き換えます。
- YOUR_FUNCTION_NAME: テストする関数の名前
- REGION: 関数がデプロイされる Google Cloud リージョン
--data
引数は、関数に次のように渡されます。
- HTTP 関数の場合、指定したデータは POST リクエストの本体として送信されます。
- CloudEvent 関数の場合、データがイベントデータとして関数に直接渡されます。
詳細については、gcloud functions call
のドキュメントをご覧ください。
Cloud Pub/Sub イベント ドリブン関数の例
この例は、Cloud Pub/Sub イベントでトリガーされたイベント ドリブン関数を直接呼び出す方法を示しています。
Node.js
Python
Go
Java
C#
Ruby
PHP
関数を直接呼び出すには、base64 でエンコードされたデータを想定する PubsubMessage
をイベントデータとして送信します。
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 環境では動作しません。