翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ローカル Amazon API Gateway リソースの実行とデバッグ
invokeTarget.target=api
と共に VS Codeの type=aws-sam
起動設定を実行することによって、template.yaml
に指定されている AWS SAM API Gateway のローカルリソースを実行またはデバッグすることができます。
注記
API Gateway は、REST と HTTP の 2 種類の API をサポートしています。しかし、AWS Toolkit for Visual Studio Code がある API Gateway の特徴は、REST API のみをサポートします。時に、HTTP API は「API Gateway V2 API」と呼ばれます。
ローカル API Gateway リソースを実行およびデバッグ
-
以下のいずれかのアプローチを選択し、AWS SAM API Gateway リソース用起動 Config を作成:
-
オプション 1:AWS SAM プロジェクトにあるハンドラーのソースコード (.js、.cs、または.py ファイル) にアクセスし、Lambda ハンドラーの上で移動して、デバッグ設定の追加 CodeLens を選択します。次に、メニューで API イベントとマークされた項目を選択します。
-
オプション 2
launch.json
を編集して、次の構文を使用して新しい起動設定を作成します。{ "type": "aws-sam", "request": "direct-invoke", "name": "myConfig", "invokeTarget": { "target": "api", "templatePath": "n12/template.yaml", "logicalId": "HelloWorldFunction" }, "api": { "path": "/hello", "httpMethod": "post", "payload": { "json": {} } }, "sam": {}, "aws": {} }
-
-
VS Code [Run] (実行) パネルは、起動設定 (上の例では
myConfig
という名前) を選択します。 -
(オプション) Lambda プロジェクトコードにブレークポイントを追加します。
-
[F5] をタイプするか、または [Run] (実行) パネルの [Play] (再生) を選択します。
-
出力ペインで、結果を表示します。
構成
invokeTarget.target
プロパティ値 api
を使用すると、ツールキットは起動設定の検証と動作を変更して、api
フィールドをサポートします。
{ "type": "aws-sam", "request": "direct-invoke", "name": "myConfig", "invokeTarget": { "target": "api", "templatePath": "n12/template.yaml", "logicalId": "HelloWorldFunction" }, "api": { "path": "/hello", "httpMethod": "post", "payload": { "json": {} }, "querystring": "abc=def&qrs=tuv", "headers": { "cookie": "name=value; name2=value2; name3=value3" } }, "sam": {}, "aws": {} }
例の値を、次のように置き換えます。
- invokeTarget.logicalId
-
API リソース。
- パス
-
起動設定が要求する API パス (例:
"path": "/hello"
)。invokeTarget.templatePath
によって指定されるtemplate.yaml
から解決された有効な API パスでなければなりません。 - httpMethod
-
「delete」(削除)、「get」(取得)、「head」(率いる、ヘッド)、「option」(オプションを与える)、「patch」(パッチ)、「post」(転記、投稿)、「put」(プット、つける) のいずれかの動詞とすることができます。
- payload
-
リクエストで送信する lambda.payload フィールドと同じ構造とルールを持つ JSON ペイロード (HTTP 本文)。
payload.path
は JSON ペイロードを含むファイルを指します。payload.json
は JSON ペイロードをインラインで指定します。 - headers
-
名前と値のペアのオプションのマップ。以下の例のようにリクエストに含める HTTP ヘッダーを指定するため使用します。
"headers": { "accept-encoding": "deflate, gzip;q=1.0, *;q=0.5", "accept-language": "fr-CH, fr;q=0.9, en;q=0.8, de;q=0.7, *;q=0.5", "cookie": "name=value; name2=value2; name3=value3", "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36", }
- querystring
-
リクエストの
querystring
を設定するオプションの文字列 (例:"querystring": "abc=def&ghi=jkl"
)。 - AWS
-
AWS 接続情報を提供する方法。詳細については、サーバーレスアプリケーションのデバッグ用設定オプション セクションの [AWS 接続(aws)プロパティ]テーブルを参照してください。
- SAM
-
AWS SAM CLIがアプリケーションを構築する方法 詳細については、サーバーレスアプリケーションのデバッグ用設定オプション セクションの [AWS SAM CLI(sam)プロパティ] テーブルを参照してください。