

 AWS Cloud9 は新規顧客には利用できなくなりました。 AWS Cloud9 の既存のお客様は、通常どおりサービスを引き続き使用できます。[詳細はこちら](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

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

# Toolkit AWS SAM を使用した の操作 AWS
<a name="serverless-apps-toolkit"></a>

Toolkit AWS は、[サーバーレスアプリケーション](https://aws.amazon.com/serverless/)をサポートします。Toolkit を使用すると AWS 、 [AWS Lambda](https://aws.amazon.com/lambda/)関数を含むサーバーレスアプリケーションを作成し、アプリケーションを AWS CloudFormation スタックにデプロイできます。

## サーバーレスアプリケーションの作成
<a name="sam-create"></a>

この例では、 AWS Toolkit を使用してサーバーレスアプリケーションを作成する方法を示します。サーバーレスアプリケーションの実行とデバッグの詳細については、「[サーバーレスアプリケーションの実行とデバッグ](#sam-run-debug)」を参照してください。

サーバーレスアプリケーションを作成するために必要な前提条件には、**AWS SAM CLI** と **AWS CLI** が含まれます。これらは に含まれています AWS Cloud9。CLI AWS SAM がインストールされていない場合、または古い場合は、インストールまたはアップグレードの実行が必要になる場合があります。 AWS SAM CLI をインストールする方法については、[AWS SAM 「CLI ](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/install-sam-cli.html#install-sam-cli-instructions)のインストール」を参照してください。また、CLI AWS SAM をアップグレードする方法については、[AWS SAM 「CLI のアップグレード](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/manage-sam-cli-versions.html#manage-sam-cli-versions-upgrade)」を参照してください。

### Toolkit を使用してサーバーレスアプリケーションを作成する AWS
<a name="create-serverless-app"></a>

この例では、 [AWS Serverless Application Model (AWS SAM)](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/what-is-sam.html) を使用して AWS Toolkit でサーバーレスアプリケーションを作成する方法を示します。

1. **[AWS Explorer]** で **[Lambda]** ノードを右クリックしてコンテキストメニューを開き、**[Create Lambda SAM Application]** (Lambda SAM アプリケーションの作成) を選択します。
**注記**  
または、**[AWS: Explorer]** のリストからメニューアイコンを選択し、**[Create Lambda SAM Application]** (Lambda SAM アプリケーションの作成) を選択します。

1. SAM アプリケーションのランタイムを選択します。この例では、［**nodejs12.x**］を選択します。
**注記**  
「(Image)」を含むランタイムの 1 つを選択した場合、アプリケーションのパッケージタイプは `Image` です。「(Image)」を含まないランタイムの 1 つを選択した場合、アプリケーションは `Zip` タイプです。`Image` および `Zip` パッケージタイプの違いの詳細については、AWS Lambda デベロッパーガイドの「[Lambda デプロイパッケージ](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)」を参照してください。

1. サーバーレスアプリケーションに以下のいずれかのテンプレートを選択します。
   + **AWS SAM Hello World**: 従来の「Hello World」メッセージを返す Lambda 関数を含む基本的なテンプレート。
   + **AWS Step Functions サンプルアプリ**: 株式取引ワークフローを実行するサンプルアプリケーション。ステップ関数は、関与する Lambda 関数の相互作用をオーケストレートします。

1. 新しいプロジェクトの場所を選択します。既存のワークスペースフォルダがある場合は、これを選択できます。それ以外の場合は、別のフォルダを参照して選択します。**[Select a different folder]** (別のフォルダを選択) を選択すると、ダイアログボックスが表示され、フォルダの場所を選択できます。

1. 新しいアプリケーションの名前を入力します。この例では `my-sam-app-nodejs` を使用します。**Enter** キーを押すと、 AWS Toolkit は少し時間を取ってプロジェクトを作成します。

プロジェクトが作成されると、［環境] ウィンドウにアプリケーションのファイルを表示できます。[**Explorer**] ウィンドウに表示されていることを確認します。

![\[SAM アプリケーションで使用可能なランタイムを示すスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/images/sam-create-app-explorer.png)


## サーバーレスアプリケーションの実行とデバッグ
<a name="sam-run-debug"></a>

 AWS Toolkit を使用して、サーバーレスアプリケーションをデバッグし、開発環境でローカルで実行する方法を設定できます。 AWS Serverless Application Model (AWS SAM) テンプレートで定義されたサーバーレスアプリケーションをデバッグできます。このテンプレートは、シンプルな YAML 構文を使用して、サーバーレスアプリケーションを構成する関数、API、データベース、API、データベース、イベントソースのマッピングなどのリソースを記述します。

 AWS SAM テンプレートの詳細については、「 デベロッパーガイド」の[AWS SAM 「 テンプレートの構造](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-specification-template-anatomy.html)」を参照してください。 *AWS Serverless Application Model *

また、SAM テンプレートにコミットされていないサーバーレスアプリケーションを迅速にデバッグすることもできます。

インラインアクションを使用して対象となる AWS Lambda 関数を識別することで、デバッグ動作の設定を開始します。SAM テンプレートによって定義されたインフラストラクチャを使用するには、関連する YAML 形式のファイルでインラインアクションを使用します。テンプレートなしで関数を直接テストするには、アプリケーションファイルの Lambda ハンドラーのコンテキストに応じたリンクを使用します。

**注記**  
この例では、JavaScript を使用するアプリケーションをデバッグします。ただし、 AWS Toolkit で使用できるデバッグ機能は、次の言語とランタイムで使用できます。  
JavaScript – Node.js 10.*x*, 12.*x*, 14.*x*
Python – 3.7、3.8、3.9、3.10 (Python 2.7 および 3.6 サーバーレスアプリケーションは実行できますが、 AWS Toolkit によってデバッグすることはできません）。
言語の選択は、コンテキストに応じたリンクが適格な Lambda ハンドラーを示す方法にも影響します。詳細については、「[コードからサーバーレス関数を直接実行およびデバッグ](#run-debug-no-template)」を参照してください。

### サーバーレスアプリケーションの実行とデバッグのため、SAM テンプレートを使用
<a name="sam-run-debug-template"></a>

SAM テンプレートを使用して実行およびデバッグされるアプリケーションの場合、YAML 形式のファイルには、アプリケーションの動作と使用するリソースが記述されます。 AWS Toolkit を使用してサーバーレスアプリケーションを作成すると、 という名前のファイルがプロジェクト用に自動的に生成`template.yaml`されます。

この手順では、[サーバーレスアプリケーションの作成](#sam-create) で作成したサンプルアプリケーションを使用します。

### SAM テンプレートを使用してサーバーレスアプリケーションを実行およびデバッグ


1. サーバーレスアプリケーションを構成するアプリケーションファイルを表示するには、［**環境** ］ウィンドウに移動します。

1. アプリケーションフォルダ (例:*my-sample-app*) で`template.yaml` ファイルを開きます。

1. `template.yaml` で、**[Edit Launch Configuration]** (起動設定の編集) を選択します。

   新しいエディタに表示される`launch.json`ファイルは、デフォルト属性があるデバッグ設定を提供します。

1. <a name="properties"></a>次の設定プロパティの値を編集または確認します。
   + `"name"` – 読みやすい名前を入力して、[**実行**] ビューの [**設定**] ドロップダウンフィールドに表示します。
   + `"target"` – 値が `"template"` であることを確認します。これにより、SAM テンプレートがデバッグセッションのエントリポイントになります。
   + `"templatePath"` – `template.yaml` ファイルに相対パスまたは絶対パスを入力。
   + `"logicalId"` – 名前が SAM テンプレートの **[Resources]** (リソース) セクションに指定されている名前と一致することを確認します。この場合はタイプ `AWS::Serverless::Function` の `HelloWorldFunction` です。

   `launch.json` ファイル内のこれらと他の入力に関する詳細は、「[サーバーレスアプリケーションのデバッグ用設定オプション](sam-debug-config-ref.md)」を参照してください。

1. デバッグ設定に問題がなければ、`launch.json` を保存します。次に、**RUN** の横の緑色の［play] (再生) ボタンを選択してデバッグを開始します。
**注記**  
SAM アプリケーションの実行に失敗した場合は、［**出力**］ウィンドウをチェックして、Docker イメージが構築されていないためにエラーが発生しているかどうかを確認します。環境でディスク容量の解放が必要になる場合があります。  
詳細については、「[AWS Cloud9 環境に十分なディスク容量がないため、 AWS Toolkit で SAM アプリケーションをローカルで実行中にエラーが発生しました](troubleshooting.md#troubleshooting-dockerimage-toolkit)」を参照してください。

   デバッグセッションを開始すると、**[DEBUG CONSOLE]** (デバッグコンソール) パネルにデバッグ出力が表示され、Lambda 関数から返された値が表示されます。SAM アプリケーションをデバッグする場合、**AWS ツールキット**を **[Output]** (出力) パネルの **[Output]** (出力) チャネルとして選択します。<a name="docker-problem"></a>
**注記**  
Windows ユーザーの場合、このプロセス中に Docker マウントエラーが表示されたら、**[Docker Settings]** (Docker 設定) で共有ドライブの認証情報を 更新する必要があります。Docker マウントエラーは次のように表示されます。  

   ```
   Fetching lambci/lambda:nodejs10.x Docker container image......
   2019-07-12 13:36:58 Mounting C:\Users\<username>\AppData\Local\Temp\ ... as /var/task:ro,delegated inside runtime container
   Traceback (most recent call last):
   ...requests.exceptions.HTTPError: 500 Server Error: Internal Server Error ...
   ```

### コードからサーバーレス関数を直接実行およびデバッグ
<a name="run-debug-no-template"></a>

 AWS SAM アプリケーションをテストするときは、Lambda 関数のみを実行およびデバッグすることを選択できます。SAM テンプレートに定義されている他のリソースは除外します。このアプローチでは、インラインアクションを使用して、直接呼び出すことができる、ソースコード内の Lambda 関数ハンドラーを特定します。

コンテキスト対応リンクによって検出される Lambda ハンドラーは、アプリケーションで使用している言語とランタイムによって異なります。


|  言語/ランタイム  | Lambda 関数をコンテキスト対応リンクで特定するための条件 | 
| --- | --- | 
|  JavaScript(Node.js 10.x、12.x、14.x)  |  関数には以下の特徴があります。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/serverless-apps-toolkit.html)  | 
|  Python (3.7、3.8、3.9、3.10)  |  関数には以下の特徴があります。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/serverless-apps-toolkit.html)  | 

### サーバーレスアプリケーションをアプリケーションコードから直接実行およびデバッグ




1. サーバーレスアプリケーションのファイルを表示するには、エディタの横にあるフォルダアイコンを選択して、アプリケーションフォルダに移動します。

1. アプリケーションフォルダ (*my-sample-app* など) で、関数フォルダ (この例では *hello-world*) を展開し、`app.js` ファイルを開きます。

1. 対象の Lambda ハンドラー関数を識別するインラインアクションで、`Add Debug Configuration` を選択します。[Add debug configuration] (デバッグ設定の追加) オプションが表示されない場合は、コードレンズを有効にする必要があります。コードレンズを有効にするには、「[AWS Toolkit コードレンズの有効化](enable-code-lenses.md)」を参照してください。  
![\[Lambda 関数ハンドラーのインラインアクション内の [Add Debug Configuration] オプションにアクセスします。\]](http://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/images/direct_invoke_config.png)

1. SAM アプリケーションを実行するランタイムを選択します。

1. `launch.json` ファイルのエディターでは、次の設定プロパティの値を編集または確認します。
   + `"name"` – 分かりやすい名前を入力します。
   + `"target"` – 値が `"code"` で、Lambda 関数ハンドラを直接呼び出せることを確認します。
   + `"lambdaHandler"` – 関数を呼び出すために Lambda が呼び出すコード内のメソッドの名前を入力します。例えば、JavaScript のアプリケーションでは、デフォルトは `app.lambdaHandler` です。
   + `"projectRoot"` – Lambda 関数を含むアプリケーションファイルにパスを入力します。
   + `"runtime"` – Lambda 実行環境の有効なランタイム (`"nodejs.12x"` など) を入力または確認します。
   + `"payload"` – 以下のいずれかのオプションを選択して、Lambda 関数に入力として提供するイベントペイロードを定義します。
     + `"json"`: イベントペイロードを定義する JSON 形式のキーバリューペア。
     + `"path"`: イベントペイロードとして使用されるファイルへのパス。

1. 

   デバッグ設定が満足なものであれば、［**RUN**］の横の緑の再生矢印を選択して、デバッグをスタートします。

   デバッグセッションが開始すると、**[DEBUG CONSOLE]** (デバッグコンソール) パネルにデバッグ出力が表示され、Lambda 関数から返された値が表示されます。SAM アプリケーションをデバッグする場合、**AWS ツールキット**を **[Output]** (出力) パネルの **[Output]** (出力) チャネルとして選択します。
**注記**  
エラーメッセージに Docker が記載されている場合は、この[注記](#docker-problem)を参照してください。

### ローカル Amazon API Gateway リソースの実行とデバッグ
<a name="run-debug-api-gateway"></a>

で指定された AWS SAM API Gateway ローカルリソースを実行またはデバッグできます`template.yaml`。これを行うには、 `type=aws-sam`で の AWS Cloud9 起動設定を実行します`invokeTarget.target=api`。

**注記**  
API Gateway は、2 種類の API をサポートしています。REST API と HTTP API です。ただし、 AWS Toolkit の API Gateway 機能は REST APIs のみをサポートします。時に、HTTP API は「API Gateway V2 API」と呼ばれます。

**ローカル API Gateway リソースを実行およびデバッグ**

1. 以下のいずれかのアプローチを選択し、 AWS SAM API Gateway リソース用の起動設定を作成します。
   + **オプション 1**: AWS SAM プロジェクトのハンドラーソースコード (特に .js、.cs、または .py ファイル) にアクセスし、Lambda ハンドラーにカーソルを合わせて、**[Add debug configuration]** (デバッグ設定の追加) を選択します。[Add debug configuration] (デバッグ設定の追加) オプションが表示されない場合は、コードレンズを有効にします。コードレンズを有効にするには、「[AWS Toolkit コードレンズの有効化](enable-code-lenses.md)」を参照してください。次に、メニューで 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": {}
     }
     ```

1. **[Run]** (実行) ボタンの横のドロップダウンメニューで、起動設定を選択します (上の例では `myConfig` という名前です)。

1. (オプション) Lambda プロジェクトコードにブレークポイントを追加します。

1. 緑の**「再生」ボタン**の横にある［**Run (実行)**］ボタンを選択します。

1. 出力ペインで、結果を表示します。

#### 設定
<a name="run-debug-api-gateway-configuration"></a>

`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」、「options」、「patch」、「post」、「put」のいずれかの動詞とすることができます。

**payload**  
リクエストで送信する、lambda.payload フィールドと同じ構造とルールを持つ JSON ペイロード (HTTP 本文)。  
`payload.path` は JSON ペイロードを含むファイルを指します。  
`payload.json` は JSON ペイロードをインラインで指定します。

**ヘッダー**  
名前と値のペアのオプションのマップ。リクエストに含める 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 接続情報の提供方法。詳細については、[サーバーレスアプリケーションのデバッグ用設定オプション](sam-debug-config-ref.md) の **AWS 接続 (`aws`) プロパティ**表を参照してください。

**SAM**  
CLI AWS SAM がアプリケーションを構築する方法。詳細については、[サーバーレスアプリケーションのデバッグ用設定オプション](sam-debug-config-ref.md) の **AWS SAM CLI (「`sam`」) のプロパティ**を参照してください。

## サーバーレスアプリケーションの同期
<a name="deploy-serverless-app"></a>

この例では、 AWS Toolkit for Visual Studio Codeを使用して、前のトピック(「[サーバーレスアプリケーションの作成](#sam-create)」) で作成したサーバーレスアプリケーションを AWS に同期する方法を示します。

### 前提条件
<a name="deploy-sam-prereq"></a>
+ グローバルに一意な Amazon S3 バケット名を必ず選択します。
+ で設定した認証情報に、Amazon S3、 CloudFormation AWS Lambda、および Amazon API Gateway のサービスへの適切な読み取り/書き込みアクセスが含まれていることを確認します。
+ デプロイタイプが `Image` であるアプリケーションの場合、グローバルに一意の Amazon S3 バケット名と、デプロイに使用する Amazon ECR リポジトリ URI の両方があることを確認します。

### サーバーレスアプリケーションの同期
<a name="deploy-sam-proc"></a>

1. **[AWS Explorer]** ウィンドウで、**[Lambda]** ノードを右クリックしてコンテキストメニューを開き、**[SAM アプリケーションを同期]** を選択します。

1.  AWS リージョン デプロイする を選択します。

1. デプロイに使用する `template.yaml` ファイルを選択します。

1. このデプロイで使用できる Amazon S3 バケットの名前を入力します。バケットは、デプロイ先のリージョンにある必要があります。
**警告**  
Amazon S3 バケット名は、Amazon S3 内のどの既存バケット名とも重複しないグローバルに一意な名前である必要があります。次の例に示す名前に一意の識別子を追加するか、別の名前を選択します。

1. サーバーレスアプリケーションに、パッケージタイプの `Image` を伴う関数が含まれているのであれば、このデプロイで使用できる Amazon ECR リポジトリの名前を入力します。リポジトリは、デプロイ先のリージョンにある必要があります。

1. デプロイしたスタックの名前 (新しいスタック名または既存のスタック名) を入力します。

1. **コンソール**の［**AWS ツールキット**］タブ上のデプロイの成功を確認します。

   エラーが発生すると、右下にメッセージが表示されます。

   この場合は、［**AWS ツールキット**］タブのテキストで詳細をチェックします。以下に示しているのは、エラーの詳細の例です。

   ```
   Error with child process: Unable to upload artifact HelloWorldFunction referenced by CodeUri parameter of HelloWorldFunction resource.
   S3 Bucket does not exist. Execute the command to create a new bucket
   aws s3 mb s3://pbart-my-sam-app-bucket
   An error occurred while deploying a SAM Application. Check the logs for more information by running the "View AWS Toolkit Logs" command from the Command Palette.
   ```

   この例では、Amazon S3 バケットが存在しないため、エラーが発生しています。

デプロイが完了すると、アプリケーションが **[AWS Explorer]** に表示されます。アプリケーションの一部として作成した Lambda 関数の呼び出し方法については、「[リモートの Lambda 関数を呼び出す](lambda-toolkit.md#remote-lambda)」を参照してください。

## AWS クラウドからのサーバーレスアプリケーションの削除
<a name="delete-serverless-app"></a>

サーバーレスアプリケーションを削除するには、以前に AWS クラウドにデプロイした CloudFormation スタックを削除します。この手順を実行しても、ローカルホストからアプリケーションディレクトリは削除されないことにご注意ください。

1. ［**AWS Explorer**］を開きます。

1. ［**AWS Explorer**］ウィンドウで、削除したいデプロイされたアプリケーションを含むリージョンを展開し、**CloudFormation**を拡張します。

1. 削除するサーバーレスアプリケーションに対応する CloudFormation スタックの名前のコンテキスト (右クリック) メニューを開きます。次に、**[Delete CloudFormation Stack]** (CloudFormation スタックを削除) を選択します。

1. 選択したスタックを削除したいことを確認する場合は、［**削除** ］を選択します。

スタックの削除が成功すると、 AWS Toolkit は **AWS Explorer** の CloudFormation リストからスタック名を削除します。

# AWS Toolkit コードレンズの有効化
<a name="enable-code-lenses"></a>

このステップでは、 AWS Toolkit コードレンズを有効にする方法を示します。

1. メニューバーで、[**AWS Cloud9**]、［**設定**］の順に選択します。

1. **[設定]** タブで、サイドバーの **[AWS ツールキット]** を選択します。

1. コードレンズを有効にするには、**[Enable Code Lenses]** (コードレンズを有効にする) を選択します。

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

インラインアクションを使用すると、Lambda 関数を直接呼び出すか、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`  |  リソースを呼び出すためのエントリポイントを指定します。 Lambda 関数を直接呼び出すには、次の`invokeTarget`フィールドに値を設定:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/sam-debug-config-ref.html) SAM テンプレートを使用して Lambda リソースを呼び出すには、次の`invokeTarget`イールドに値を設定: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/sam-debug-config-ref.html)  | 


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

|  プロパティ | 説明 | 
| --- | --- | 
|  `environmentVariables`  |  オペレーショナルパラメータを関数に渡します。例えば、Amazon S3 バケットに書き込む場合は、バケット名を環境変数として設定します。書き込み先のバケット名をハードコーディングしないでください。  | 
| `payload` |  入力として Lambda 関数に提供されるイベントペイロード用に 2 つのオプションを提供します。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/sam-debug-config-ref.html)  | 
|  `memoryMB`  |  、呼び出された Lambda 関数のために提供されたメモリのメガバイトを指定します  | 
| `runtime` |  Lambda 関数で使用するランタイムを指定します。詳細については、「[AWS Lambda ランタイム](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html)」を参照してください。  | 
|  `timeoutSec`  |  デバッグセッションがタイムアウトするまでの許可される時間を秒単位で設定します。  | 

 AWS Toolkit 拡張機能は 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`  |   AWS Lambdaのような Docker コンテナ内に関数を構築するかどうかを示します。  |  `false`  | 
|  `dockerNetwork`  |  Lambda Docker コンテナが接続する既存の Docker ネットワークの名前または ID を、デフォルトのブリッジネットワークとともに指定します。指定しない場合、Lambda コンテナはデフォルトのブリッジ Docker ネットワークにのみ接続します。  |  空の文字列  | 
|  `localArguments`  |  追加のローカル呼び出し引数。  |  空の文字列  | 
|  `skipNewImageCheck`  |  コマンドが Lambda ランタイム用の最新 Docker イメージのプルダウンをスキップするかどうかを指定します。  |  `false`  | 
|  `template`  |  パラメータを使用してそれに対して顧客の値を入力することで、SAM テンプレートをカスタマイズします。詳細については、「*AWS CloudFormation ユーザーガイド*」の「[パラメータ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html)」を参照してください。  |  `"parameters":{}`  | 


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

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