デプロイ前に Cloud Functions の関数をテストする

このガイドでは、Cloud Functions をデプロイする前に Google Cloud コンソールでテストする方法を説明します。この機能は、Node.js 関数と Python 関数で使用できます。

テスト用の関数を準備する

テスト用の関数を準備するには:

  1. Google Cloud コンソールで Functions の概要ページを開きます。

    Cloud Functions の概要ページに移動

    Cloud Functions を有効にしたプロジェクトが選択されていることを確認します。

  2. [関数を作成] をクリックして新しい Node.js または Python 関数を作成するか、既存の Node.js または Python 関数を選択して [編集] をクリックして編集します。

  3. [次へ] をクリックして、コード編集ページに進みます。

    関数のデプロイ前のテストパネルを示すスクリーンショット

  4. [関数をテスト] をクリックして、テストプロセスを開始します。

  5. プロンプトが表示されたら、[テストを始める] をクリックして Cloud Shell ターミナルの使用を承認します。

テストを実行する

上記の手順を完了すると、右側にトリガー イベントのパネルが開き、関数をテストする準備ができたことを確認できます。[テストを実行] をクリックします。

関数のデプロイ前のテストパネルを示すスクリーンショット

テストプロセスのこのフェーズには、次のコンポーネントが含まれます。

  • トリガーとなるイベントのパネル。トリガーとなるイベントのパネルには、構成ページで指定したイベント トリガーに一致するペイロードが事前入力されます。これが関数への入力です。
  • Cloud Shell の出力ウィンドウ。Cloud Shell の出力ウィンドウには、HTTP ステータス コードと呼び出し元に返されたレスポンスが表示されます。
  • [テストを実行] を実行してテストを実行します。

テストの出力は Cloud Shell ウィンドウで確認できます。

Cloud Shell 出力ウィンドウを示すスクリーンショット

Cloud Shell ターミナル

関数ごとのロギング出力は、画面下部の Cloud Shell ターミナルで確認できます。たとえば、テストパネルを開くと、ソースコードのパッケージ化の出力が表示されます。テストを実行すると、ソースコードの変更と、console.log やエラーなどの実行レベルの出力が表示されます。

テストに失敗した場合、Cloud Shell ターミナルにはエラー メッセージが表示され、正確な原因を特定できます。次に例を示します。

[11:31:47 AM] - Provided module can't be loaded.
Is there a syntax error in your code?
Detailed stack trace: /workspace/index.js:11
    : 'World';
    ^

SyntaxError: Unexpected token ':'
    at Object.compileFunction (node:vm:360:18)
    at wrapSafe (node:internal/modules/cjs/loader:1048:15)
    at Module._compile (node:internal/modules/cjs/loader:1083:27)
    at Module._extensions..js (node:internal/modules/cjs/loader:1173:10)
    at Module.load (node:internal/modules/cjs/loader:997:32)
    at Module._load (node:internal/modules/cjs/loader:838:12)
    at Module.require (node:internal/modules/cjs/loader:1021:19)
    at require (node:internal/modules/cjs/helpers:103:18)
    at getUserFunction (/workspace/node_modules/@google-cloud/functions-framework/build/src/loader.js:98:30)
    at async main (/workspace/node_modules/@google-cloud/functions-framework/build/src/main.js:35:32)

[11:31:47 AM] - Could not load the function, shutting down.

デプロイ

テストが完了したら、[デプロイ] をクリックして、通常の方法で関数をデプロイできます。