デプロイ前に Cloud Run functions をテストする
このガイドでは、Cloud Run 関数をデプロイする前に Google Cloud コンソールでテストする方法を説明します。この機能は、Node.js 関数と Python 関数で使用できます。
テスト用の関数を準備する
テスト用の関数を準備するには:
Google Cloud コンソールで Functions の概要ページを開きます。
Cloud Run functions を有効にしたプロジェクトが選択されていることを確認します。
[関数を作成] をクリックして新しい Node.js または Python 関数を作成するか、既存の Node.js または Python 関数を選択して [編集] をクリックして編集します。
[次へ] をクリックして、コード編集ページに進みます。
[関数をテスト] をクリックして、テストプロセスを開始します。
プロンプトが表示されたら、[テストを始める] をクリックして Cloud Shell ターミナルの使用を承認します。
テストを実行する
上記の手順を完了すると、右側にトリガー イベントのパネルが開き、関数をテストする準備ができたことを確認できます。[テストを実行] をクリックします。
テストプロセスのこのフェーズには、次のコンポーネントが含まれます。
- トリガーとなるイベントのパネル。トリガーとなるイベントのパネルには、構成ページで指定したイベント トリガーに一致するペイロードが事前入力されます。これが関数への入力です。
- Cloud Shell の出力ウィンドウ。Cloud Shell の出力ウィンドウには、HTTP ステータス コードと呼び出し元に返されたレスポンスが表示されます。
- [テストを実行] を実行してテストを実行します。
テストの出力は 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.
デプロイ
テストが完了したら、[デプロイ] をクリックして、通常の方法で関数をデプロイできます。