翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
コードから Lambda 関数を直接実行およびデバッグ
AWS SAM アプリケーションをテストするときは、Lambda 関数のみを実行してデバッグし、 AWS SAM テンプレートが定義する他のリソースを除外できます。このアプローチでは、 CodeLens
によって検出される Lambda ハンドラーは、アプリケーションで使用している言語とランタイム CodeLens によって異なります。
言語/ランタイム | インジケータによって CodeLens識別される Lambda 関数の基準 |
---|---|
C# (dotnetcore2.1、3.1; 。NET 5.0) |
関数には以下の特徴があります。
ms-dotnettools.csharp 拡張機能 |
JavaScript/ TypeScript (Node.js 12.x、14.x) |
関数には以下の特徴があります。
|
Python (3.7、3.8、3.9、3.10、3.11、3.12) |
関数には以下の特徴があります。
ms-python.python 拡張機能 |
Java (8, 8.al2, 11) |
関数には以下の特徴があります。
redhat.java 拡張機能 vscjava.vscode-java-debug |
Go (1.x) |
関数には以下の特徴があります。
golang.go 拡張機能 |
サーバーレスアプリケーションをアプリケーションコードから直接実行およびデバッグ
-
VS Code のファイルエクスプローラでアプリケーションファイルを表示するには、[View] (表示)、[Explorer] (エクスプローラ) を選択します。
-
アプリケーションフォルダ (例: my-sample-app) から関数フォルダ (この場合は hello-world ) を展開し、
app.js
ファイルを開きます。 -
対象となる Lambda 関数ハンドラーを識別する CodeLens インジケータで、 を選択します
Add Debug Configuration
。 -
[Command Palette] (コマンドパレット) で、 AWS SAM アプリケーションが実行するランタイムを選択します。
-
launch.json
ファイルのエディタでは、次の設定プロパティの値を編集または確認します。-
"name"
– 読みやすい名前を入力して、[実行] ビューの [設定] ドロップダウンフィールドに表示します。 -
"target"
– 値が"code"
で、Lambda 関数ハンドラを直接呼び出せることを確認します。 -
"lambdaHandler"
– 関数を呼び出すために Lambda が呼び出すコード内のメソッドの名前を入力します。例えば、 のアプリケーションの場合 JavaScript、デフォルトは ですapp.lambdaHandler
。 -
"projectRoot"
– Lambda 関数を含むアプリケーションファイルにパスを入力します。 -
"runtime"
– Lambda 実行環境の有効なランタイムを入力または確認します。例えば、"nodejs.12x"
。 -
"payload"
– 以下のいずれかのオプションを選択して、Lambda 関数に入力として提供するイベントペイロードを定義します。-
"json"
: イベントペイロードを定義するJSONフォーマットされたキーと値のペア。 -
"path"
: イベントペイロードとして使用されるファイルへのパス。
以下の例では、
"json"
オプションは、ペイロードを定義します。 -
launch.json
ファイル内のこれらと他の入力に関する詳細は、「サーバーレスアプリケーションのデバッグ用設定オプション」を参照してください。 -
-
デバッグ設定に満足している場合、デバッグを開始するには、 の横にある緑色の再生矢印を選択しますRUN。
デバッグセッションが開始されると、DEBUGCONSOLEパネルにデバッグ出力が表示され、Lambda 関数が返す値が表示されます。( AWS SAM アプリケーションをデバッグする場合、AWS Toolkit は出力パネルの出力チャネルとして選択されます。)