

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# サーバーレスアプリケーションのデバッグ用設定オプション
<a name="serverless-apps-run-debug-config-ref"></a>

`launch.json` ファイルを開いてデバッグ設定を編集する場合は、表示するために VS Code [IntelliSense](https://code.visualstudio.com/docs/editor/intellisense) 機能を使用して、有効なプロパティを表示して自動的に完了できます。エディタで IntelliSense をトリガーするには、**Ctrl** \+ **スペースバー**を押します。

![VS Code の IntelliSense を使用して、有効なデバッグプロパティを見つけて完了します。](http://docs.aws.amazon.com/ja_jp/toolkit-for-vscode/latest/userguide/images/Intellisense_autocomplete.gif)


IntelliSense を使用すると、Lambda 関数を直接呼び出すか、 AWS SAM テンプレートを使用して呼び出すためのプロパティを検索して定義できます。また、 `"lambda"` (関数の実行方法)`"sam"`、 (CLI がアプリケーションを構築する方法）、 `"aws"` ( AWS 接続情報の提供方法) AWS SAM のプロパティを定義することもできます。


**AWS SAM: 直接 Lambda ハンドラー呼び出し/テンプレートベースの Lambda 呼び出し**  

|  プロパティ | 説明 | 
| --- | --- | 
| `type` | 起動設定を管理する拡張機能を指定します。CLI AWS SAM を使用してローカルでビルドおよびデバッグ`aws-sam`するには、常に に設定します。 | 
| `name` | **起動設定のデバッグ**リストに表示される読みやすい名前を指定します。 | 
| `request` | 指定された拡張子 (`aws-sam`) が実行する構成の種類を指定します。常に `direct-invoke` に設定され、Lambda 関数をスタートします。 | 
| `invokeTarget` | リソースを呼び出すためのエントリポイントを指定します。<br />Lambda 関数を直接呼び出すには、次の`invokeTarget`フィールドに値を設定:[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/toolkit-for-vscode/latest/userguide/serverless-apps-run-debug-config-ref.html)<br /> AWS SAM テンプレートを使用して Lambda リソースを呼び出すには、次の`invokeTarget`フィールドの値を設定します。[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/toolkit-for-vscode/latest/userguide/serverless-apps-run-debug-config-ref.html) | 


**Lambda (`"lambda"`) のプロパティ**  

|  プロパティ | 説明 | 
| --- | --- | 
| `environmentVariables` | オペレーショナルパラメータを Lambda 関数に渡します。例えば、Amazon S3 バケットに書き込む場合、書き込み先のバケット名はハードコーディングせずに、環境可変として設定します。 サーバーレスアプリケーションの環境変数を指定する場合は、 AWS SAM テンプレート (`template.yaml`) と `launch.json` ファイルの両方に設定を追加する必要があります。 <br /> AWS SAM テンプレートの環境変数の書式設定の例 <pre>Resources:<br /> HelloWorldFunction:<br /> Type: AWS::Serverless::Function<br /> Properties:<br />   CodeUri: hello-world/<br />   Handler: app.lambdaHandlerN10<br />   Runtime: nodejs10.x<br />   Environment:<br />     Variables:<br />       SAMPLE1: Default Sample 1 Value</pre> <br />`launch.json` ファイルの環境変数の書式設定の例 <pre>"environmentVariables": {<br />    "SAMPLE1": "My sample 1 value"<br /> }</pre>  | 
| `payload` | 入力として Lambda 関数に提供されるイベントペイロード用に 2 つのオプションを提供します。[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/toolkit-for-vscode/latest/userguide/serverless-apps-run-debug-config-ref.html) | 
| `memoryMB` | 呼び出された Lambda 関数の実行のために提供されたメモリのメガバイト (MB) を指定します。 | 
| `runtime` | Lambda 関数で使用するランタイムを指定します。詳細については、「[AWS Lambda ランタイム](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html)」を参照してください。 | 
| `timeoutSec` | デバッグセッションがタイムアウトするまでの許可される時間を秒単位で設定します。 | 
| `pathMappings` | ローカルコードがコンテナ内のどこで実行されるかを指定します。<br />デフォルトでは、Toolkit for VS Code が `localRoot` をローカルワークスペースの Lambda 関数のコードルート、および `remoteRoot` から Lambda で実行されるコードのデフォルトの作業ディレクトリの `/var/task` に設定します。作業ディレクトリが Dockerfile または CloudFormation テンプレートファイルの `WorkingDirectory`パラメータで変更された場合、デバッガーがローカルで設定されたブレークポイントを Lambda コンテナで実行されているコードに正常にマッピングできるように、少なくとも 1 つの`pathMapping`エントリを指定する必要があります。<br />`launch.json` ファイルの `pathMappings` の書式設定の例<pre>"pathMappings": [<br />    {<br />        "localRoot": "{{${workspaceFolder}/sam-app/HelloWorldFunction}}",<br />        "remoteRoot": "{{/var/task}}"<br />    }<br />]</pre><br />注意:[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/toolkit-for-vscode/latest/userguide/serverless-apps-run-debug-config-ref.html) | 

Toolkit for VS Code は CLI AWS SAM を使用してサーバーレスアプリケーションをローカルで構築およびデバッグします。 AWS SAM CLI コマンドの動作は、 `launch.json` ファイル`"sam"`の設定のプロパティを使用して設定できます。


**AWS SAM CLI (`"sam"`) プロパティ**  

| プロパティ |  説明 |  デフォルトの値 | 
| --- | --- | --- | 
| `buildArguments` | `sam build` コマンドが Lambda ソースコードを構築する方法を設定します。構築オプションを表示するには、「*AWS Serverless Application Model デベロッパーガイド*」の「[sam build](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-cli-command-reference-sam-build.html)」を参照してください。 | 空の文字列 | 
| `containerBuild` | Lambda　のようなDocker コンテナ内部に関数を構築するかどうかを示します。 | `false` | 
| `dockerNetwork` | Lambda Docker コンテナが接続する既存の Docker ネットワークの名前または ID を、デフォルトのブリッジネットワークとともに指定します。指定されていない場合、Lambda コンテナはデフォルトのブリッジ Docker ネットワークのみに接続します。 | 空の文字列 | 
| `localArguments` | 追加のローカル呼び出し引数を指定します。 | 空の文字列 | 
| `skipNewImageCheck` | コマンドが Lambda ランタイム用の最新 Docker イメージのプルダウンをスキップするかどうかを指定します。 | `false` | 
| `template` | パラメータを使用して AWS SAM テンプレートをカスタマイズし、顧客値を入力します。詳細については、「*AWS CloudFormation ユーザーガイド*」の「[パラメータ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html)」を参照してください。 | `"parameters":{}` | 


**AWS 接続 (`"aws"`) プロパティ**  

| プロパティ | 説明 | デフォルトの値 | 
| --- | --- | --- | 
| `credentials` | 認証情報ファイルから特定のプロファイル ( など`profile:default`) を選択して、 AWS 認証情報を取得します。 | 既存の共有設定ファイルまたは共有 AWS 認証情報ファイルが Toolkit for VS Code に提供する認証情報。 [AWSAWS](setup-credentials.md) | 
| `region` | サービスの AWS リージョン (us-east-1 など) を設定します。 | アクティブな認証情報プロファイルに関連付けられているデフォルトの AWS リージョン。 | 

## 例: テンプレートの起動設定
<a name="example-template"></a>

 AWS SAM テンプレートターゲットの起動設定ファイルの例を次に示します。

```
{
    "configurations": [
        {
            "type": "aws-sam",
            "request": "direct-invoke",
            "name": "my-example:HelloWorldFunction",
            "invokeTarget": {
                "target": "template",
                "templatePath": "template.yaml",
                "logicalId": "HelloWorldFunction"
            },
            "lambda": {
                "payload": {},
                "environmentVariables": {}
            }
        }
    ]
}
```

## 例: コード起動設定
<a name="example-code"></a>

Lambda 関数ターゲットの起動設定ファイルの例を次に示します。

```
{
    "configurations": [
        {
            "type": "aws-sam",
            "request": "direct-invoke",
            "name": "my-example:app.lambda_handler (python3.7)",
            "invokeTarget": {
                "target": "code",
                "projectRoot": "hello_world",
                "lambdaHandler": "app.lambda_handler"
            },
            "lambda": {
                "runtime": "python3.7",
                "payload": {},
                "environmentVariables": {}
            }
        }
    ]
}
```