Cloud Run functions を直接呼び出す
Cloud Run functions では、迅速なイテレーションとデバッグをサポートするために、コマンドライン インターフェースの call
コマンドと Google Cloud コンソール UI のテスト機能を提供しています。これにより、関数を直接呼び出し、予期した動作が行われているかどうか確認できます。特定のイベントに応答するように関数がデプロイされている場合でも、関数がすぐに実行されます。
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
のドキュメントをご覧ください。
Google Cloud Console を使用して関数をテストする
Google Cloud コンソールから関数を直接呼び出すには、次の操作を行います。
リストで、呼び出す関数の名前をクリックします。[関数の詳細] ページに移動します。
[テスト] タブをクリックします。
[トリガーとなるイベントを構成する] フィールドに、関数が JSON として想定するデータを入力します。
必要に応じて、[+クエリ パラメータを追加] ボタンと [+Add header parameter] ボタンをクリックして、関数呼び出しにクエリ パラメータとヘッダー パラメータを追加します。
Google Cloud コンソールは、指定されたパラメータを CLI テストコマンド ウィンドウの
gcloud functions call
コマンドにまとめます。[Cloud Shell で実行] を選択して Cloud Shell ウィンドウを開き、このコマンドを実行します。
Cloud Shell ウィンドウに表示されたら、Enter キーを押して
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 環境では動作しません。
[トリガーとなるイベント] フィールドで同じイベントデータを使用して、Google Cloud コンソールから関数を呼び出すこともできます。