

 AWS Cloud9 不再提供給新客戶。 AWS Cloud9 的現有客戶可以繼續正常使用該服務。[進一步了解](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# AWS SAM 使用 AWS Toolkit 使用
<a name="serverless-apps-toolkit"></a>

Toolkit AWS 支援[無伺服器應用程式](https://aws.amazon.com/serverless/)。您可以使用 AWS Toolkit 建立包含 [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。如果未安裝 AWS SAM CLI，或者已過期，您可能需要執行安裝或升級。如需如何安裝 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)。

### 使用 AWS Toolkit 建立無伺服器應用程式
<a name="create-serverless-app"></a>

此範例說明如何使用 AWS Toolkit 建立無伺服器應用程式，方法是使用 [AWS Serverless Application Model (AWS SAM)](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/what-is-sam.html)。

1. 在 **AWS Explorer** 中，開啟 (按一下右鍵) **Lambda** 節點的內容選單，然後選擇 **Create Lambda SAM Application** (建立 Lambda SAM 應用程式)。
**注意**  
或者，您也可以在 **AWS: Explorer** 標題中選取選單圖示，然後選擇 **Create Lambda SAM Application** (建立 Lambda SAM 應用程式)。

1. 選擇您 SAM 應用程式的執行時間。在此範例中，請選擇 **nodejs12.x**。
**注意**  
如果您選取了包含「(Image)」的執行時間，您的應用程式就是 `Image` 套件類型。如果您選取了不包含「(Image)」的執行時間，您的應用程式就是 `Zip` 類型。如需詳細了解 `Image` 和 `Zip` 套件類型的差異，請參閱 *AWS Lambda 開發人員指南*中的 [Lambda 部署套件](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)。

1. 為您的無伺服器應用程式選擇下列其中一個範本：
   + **AWS SAM Hello World**：具有 Lambda 函數的基本範本，會傳回傳統 "Hello World" 訊息。
   + **AWS Step Functions 範例應用程式**：執行股票交易工作流程的範例應用程式。Step Functions 會協調 Lambda 函數有參與的互動。

1. 您可以選擇新專案的位置。若已存在，您可以選取現有的工作空間資料夾。否則，請瀏覽其他資料夾。如果選擇 **Select a different folder** (選取其他資料夾)，畫面會顯示一個對話方塊，您可以從中選取資料夾位置。

1. 輸入新應用程式的名稱。在此範例中，使用 `my-sam-app-nodejs`。按 **Enter** 後， AWS Toolkit 會花費一些時間來建立專案。

建立專案時，您可以在「Environment」(環境) 視窗中檢視應用程式的檔案。列於 **Explorer** 視窗中。

![\[顯示 SAM 應用程式可用執行時間的螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/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、資料庫和事件來源對應等組成無伺服器應用程式的資源。

如需進一步了解 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. 若要檢視無伺服器應用程式內含的應用程式檔案，請前往 **Environment** (環境) 視窗。

1. 從應用程式資料夾 (例如 *my-sample-app*) 中開啟 `template.yaml` 檔案。

1. 針對 `template.yaml`，選取 **Edit Launch Configuration** (編輯啟動組態)。

   新的編輯器會顯示 `launch.json` 檔案，該檔案提供的除錯組態採用預設屬性。

1. <a name="properties"></a>編輯或確認下列組態屬性的值：
   + `"name"` – 輸入方便識讀的名稱，讓它顯示在 **Run** (執行) 檢視的 **Configuration** (組態) 下拉式欄位中。
   + `"target"` – 確保該值是 `"template"`。如此一來，SAM 範本是除錯工作階段的進入點。
   + `"templatePath"` – 輸入 `template.yaml` 檔案的相對或絕對路徑。
   + `"logicalId"` – 確認名稱與 SAM 範本 **Resources** (資源) 區段中指定的名稱相符。在此例中，此名稱為 `AWS::Serverless::Function` 類型的 `HelloWorldFunction`。

   如需詳細了解 `launch.json` 檔案中的上述與其他項目，請參閱 [除錯無伺服器應用程式的組態選項](sam-debug-config-ref.md)。

1. 如果您認為除錯組態沒有問題，請儲存 `launch.json`。接下來，選擇 **RUN** (執行) 旁邊的綠色「播放」按鈕，即可開始除錯。
**注意**  
如果您的 SAM 應用程式無法執行，請前往 **Output** (輸出) 視窗查看錯誤是否因未建置 Docker 映像所致。您可能需要釋放環境中的磁碟空間。  
如需詳細資訊，請參閱[在 AWS Toolkit 中於本機執行 SAM 應用程式時發生錯誤，因為 AWS Cloud9 環境沒有足夠的磁碟空間](troubleshooting.md#troubleshooting-dockerimage-toolkit)。

   當除錯工作階段啟動時，**DEBUG CONSOLE** (除錯主控台) 面板會顯示除錯輸出，並顯示 Lambda 函數傳回的任何值。除錯 SAM 應用程式時，**Output** (輸出) 面板會將 **AWS Toolkit** 選為**輸出**管道。<a name="docker-problem"></a>
**注意**  
如果 Windows 使用者在此程序中遇到 Docker 掛載問題，您可能需要重新整理自己的共用磁碟機的憑證 (在 **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/zh_tw/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/zh_tw/cloud9/latest/user-guide/serverless-apps-toolkit.html)  | 

### 如何從應用程式程式碼直接執行與除錯無伺服器應用程式




1. 若要檢視無伺服器應用程式檔案，請選擇編輯器旁邊的資料夾圖示，導覽至應用程式資料夾。

1. 從應用程式資料夾 (例如 *my-sample-app*) 展開函數資料夾 (本例為 *hello-world*)，然後開啟 `app.js` 檔案。

1. 在用於識別符合資格的 Lambda 處理常式函數的內嵌動作中，選擇 `Add Debug Configuration`。如未顯示新增除錯組態選項，您必須啟用程式碼濾鏡。若要啟用程式碼濾鏡，請參閱 [啟用 AWS Toolkit 程式碼鏡頭](enable-code-lenses.md)。  
![\[在內嵌動作中，針對 Lambda 函式處理常式存取 Add Debug Configuration (新增除錯組態) 選項。\]](http://docs.aws.amazon.com/zh_tw/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 應用程式時，**Output** (輸出) 面板會將 **AWS Toolkit** 選為**輸出**管道。
**注意**  
如果錯誤訊息提及 Docker，請參閱本[注意事項](#docker-problem)。

### 執行並除錯本機 Amazon API Gateway 資源
<a name="run-debug-api-gateway"></a>

您可以執行或偵錯 中指定的 AWS SAM API Gateway 本機資源`template.yaml`。使用 執行 的 AWS Cloud9 啟動組態`type=aws-sam`來執行此操作`invokeTarget.target=api`。

**注意**  
API Gateway 支援兩種類型的 API。分別為 REST 和 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** (新增除錯組態)。如果未顯示新增除錯組態選項，請啟用程式碼濾鏡。若要啟用程式碼濾鏡，請參閱 [啟用 AWS Toolkit 程式碼鏡頭](enable-code-lenses.md)。然後，在選單中選擇標示為 API Event (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. 在輸出窗格中檢視結果。

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

如果您使用 `invokeTarget.target` 屬性值 `api`，Toolkit 會變更啟動組態驗證和行為，以便支援 `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**  
要在請求中傳送的 JSON 酬載 (HTTP 主體)，結構和規則與 lambda.payload 欄位相同。  
`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>

此範例示範如何使用 ，將上一個主題 ([建立無伺服器應用程式](#sam-create)) 中建立的無伺服器應用程式同步至 AWS AWS Toolkit for Visual Studio Code。

### 先決條件
<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. 在 **Console (主控台)** 的 **AWS Toolkit** 索引標籤上確認部署成功。

   如果發生錯誤，右下角會顯示彈出式訊息。

   如果發生這種情況，請查看 **AWS Toolkit** 索引標籤中的文字了解詳情。以下是錯誤詳細資訊的範例。

   ```
   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. 如要確認刪除所選堆疊，請選擇 **Delete** (刪除)。

如果堆疊刪除成功， AWS Toolkit 會從 **AWS Explorer** 的清單中 CloudFormation 移除堆疊名稱。

# 啟用 AWS Toolkit 程式碼鏡頭
<a name="enable-code-lenses"></a>

此步驟說明如何啟用 AWS Toolkit 程式碼鏡頭。

1. 從選單列選擇 **AWS Cloud9**、然後選擇**Preferences** (偏好設定)。

1. 在 **Preferences** (偏好設定) 標籤的側邊欄中，選擇 **AWS Toolkit**。

1. 若要啟用程式碼濾鏡，請選擇 **Enable Code Lenses** (啟用程式碼濾鏡)。

# 除錯無伺服器應用程式的組態選項
<a name="sam-debug-config-ref"></a>

透過內嵌動作，您可以輕鬆地以直接方式或使用 SAM 範本來尋找並定義叫用 Lambda 函數的屬性。您也可以定義 `"lambda"`( 函數的執行方式）、 `"sam"`( CLI AWS SAM 如何建置應用程式） 和 `"aws"`( AWS 連線資訊的提供方式） 的屬性。


**AWS SAM：直接 Lambda 處理常式叫用 / 範本型 Lambda 叫用**  

| 屬性 | Description | 
| --- | --- | 
|  `type`  |  指定用於管理啟動組態的延伸模組。一律將 設定為 `aws-sam`，以使用 AWS SAM CLI 在本機建置和偵錯。  | 
|  `name`  |  指定方便識讀的名稱，讓它顯示在 **Debug launch configuration** (除錯啟動組態清單) 中。  | 
| `request` |  指定要經由指定延伸模組執行的組態類型 (`aws-sam`)。一律設為 `direct-invoke` 來啟動 Lambda 函數。  | 
|  `invokeTarget`  |  指定叫用資源的進入點。 如要直接叫用 Lambda 函數，請設定以下 `invokeTarget` 欄位的值： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/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/zh_tw/cloud9/latest/user-guide/sam-debug-config-ref.html)  | 


**Lambda (`"lambda"`) 屬性**  

|  屬性 | Description | 
| --- | --- | 
|  `environmentVariables`  |  傳送操作參數至函數中。例如，如果您正在寫入到 Amazon S3 儲存貯體，請將儲存貯體名稱設定為環境變數。請勿將您要寫入的儲存貯體名稱以硬式編碼放在程式碼中。  | 
| `payload` |  針對您提供給 Lambda 函數作為輸入的事件酬載提供兩個選項。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/cloud9/latest/user-guide/sam-debug-config-ref.html)  | 
|  `memoryMB`  |  指定執行一個叫用的 Lambda 函數時要提供的記憶體 MB 值。  | 
| `runtime` |  指定 Lambda 函數使用的執行時間。如需詳細資訊，請參閱 [AWS Lambda 執行時間](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html)。  | 
|  `timeoutSec`  |  設定除錯工作階段逾時之前的可用時間 (以秒為單位)。  | 

 AWS Toolkit 擴充功能使用 AWS SAM CLI 在本機建置和偵錯無伺服器應用程式。您可以使用 `launch.json` 檔案中`"sam"`組態的屬性來設定 AWS SAM CLI 命令的行為。


**AWS SAM CLI (`"sam"`) 屬性**  

| 屬性 |  Description  |  預設值  | 
| --- | --- | --- | 
|  `buildArguments`  | 設定 `sam build` 命令建置 Lambda 來源程式碼的方式。若要檢視建置選項，請參閱 *AWS Serverless Application Model 開發人員指南*中的 [SAM 建置](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 範本。如需更多詳細資訊，請參閱 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html) 使用者指南*中的AWS CloudFormation 參數*部分。  |  `"parameters":{}`  | 


**AWS connection (`"aws"`) 屬性**  

| 屬性 | Description | 預設值 | 
| --- | --- | --- | 
| `credentials` |  從登入資料檔案選取特定設定檔 （例如 `profile:default`) 以取得 AWS 登入資料。  | 您現有共用 AWS 組態檔案或共用 AWS AWS 登入資料檔案提供的登入資料。 | 
| `Region` |  設定服務的 AWS 區域 （例如 us-east-1)。  | 與作用中登入資料設定檔相關聯的預設 AWS 區域。 | 