Cloud Functions の関数の直接呼び出し
Cloud Functions では、迅速な開発サイクルとデバッグをサポートするために、コマンドライン インターフェースで call
コマンド、Google Cloud コンソール UI でテスト機能を使用できます。これにより、関数を直接呼び出し、予期した動作が行われているかどうか確認できます。特定のイベントに応答するように関数がデプロイされている場合でも、関数がすぐに実行されます。
Google Cloud CLI の使用
gcloud CLI を使用して関数を直接呼び出すには、gcloud functions call
コマンドを使用し、関数が想定する任意のデータを JSON 形式で --data
引数に渡します。次に例を示します。
gcloud functions call YOUR_FUNCTION_NAME --data '{"name":"Keyboard Cat"}'
YOUR_FUNCTION_NAME
は実行する関数の名前です。--data
引数は、関数に次のように渡されます。
- HTTP 関数の場合、指定したデータは POST リクエストの本体として送信されます。
- バックグラウンド関数の場合、データがイベントデータとして関数に直接渡されます。バックグラウンド関数でイベントデータにアクセスする必要がある場合は、バックグラウンド関数のパラメータをご覧ください。
- CloudEvent 関数の場合、データがイベントデータとして関数に直接渡されます。CloudEvent 関数でのイベントデータへのアクセスについて詳しくは、CloudEvent 関数のパラメータをご覧ください。
Google Cloud コンソールの使用
Google Cloud コンソールから関数を直接呼び出すには、次の操作を行います。
Cloud Functions の概要ページに移動します。
リストで、呼び出す関数の名前をクリックします。
[関数の詳細] ページに移動します。
[テスト] タブをクリックします。
[トリガー イベント] フィールドに、関数が想定するデータを JSON 形式で入力します。
[関数をテスト] をクリックします。
関数からのレスポンスが [出力] フィールドに表示されます。個々の実行のログは、[ログ] フィールドに表示されます。
Cloud Pub/Sub イベント ドリブン関数の例
この例は、Cloud 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'"}'
Google Cloud コンソール UI から関数を呼び出すこともできます。[トリガーとなるイベント] フィールドで同じイベントデータを使用します。