

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

# AWS SAM CLI 命令參考
<a name="serverless-sam-cli-command-reference"></a>

本節包含 命令的 AWS SAM CLI參考資訊。這包括用量的詳細資訊、每個命令可用的不同選項的完整清單，以及其他資訊。適用時，其他資訊會包含引數、環境變數和事件等詳細資訊。如需詳細資訊，請參閱每個命令。如需安裝 的指示 AWS SAM CLI，請參閱 [安裝 AWS SAM CLI](install-sam-cli.md)。

**Topics**
+ [

# sam build
](sam-cli-command-reference-sam-build.md)
+ [

# sam delete
](sam-cli-command-reference-sam-delete.md)
+ [

# sam deploy
](sam-cli-command-reference-sam-deploy.md)
+ [

# sam init
](sam-cli-command-reference-sam-init.md)
+ [

# sam list
](sam-cli-command-reference-sam-list.md)
+ [

# sam local callback
](sam-cli-command-reference-sam-local-callback.md)
+ [

# sam local execution
](sam-cli-command-reference-sam-local-execution.md)
+ [

# sam local generate-event
](sam-cli-command-reference-sam-local-generate-event.md)
+ [

# sam local invoke
](sam-cli-command-reference-sam-local-invoke.md)
+ [

# sam local start-api
](sam-cli-command-reference-sam-local-start-api.md)
+ [

# sam local start-lambda
](sam-cli-command-reference-sam-local-start-lambda.md)
+ [

# sam logs
](sam-cli-command-reference-sam-logs.md)
+ [

# sam package
](sam-cli-command-reference-sam-package.md)
+ [

# sam pipeline bootstrap
](sam-cli-command-reference-sam-pipeline-bootstrap.md)
+ [

# sam pipeline init
](sam-cli-command-reference-sam-pipeline-init.md)
+ [

# sam publish
](sam-cli-command-reference-sam-publish.md)
+ [

# sam remote callback
](sam-cli-command-reference-sam-remote-callback.md)
+ [

# sam remote execution
](sam-cli-command-reference-sam-remote-execution.md)
+ [

# sam remote invoke
](sam-cli-command-reference-remote-invoke.md)
+ [

# sam remote test-event
](sam-cli-command-reference-remote-test-event.md)
+ [

# sam sync
](sam-cli-command-reference-sam-sync.md)
+ [

# sam traces
](sam-cli-command-reference-sam-traces.md)
+ [

# sam validate
](sam-cli-command-reference-sam-validate.md)

# sam build
<a name="sam-cli-command-reference-sam-build"></a>

此頁面提供 AWS Serverless Application Model Command Line Interface (AWS SAM CLI) `sam build`命令的參考資訊。
+ 如需 的簡介 AWS SAM CLI，請參閱 [什麼是 AWS SAM CLI？](what-is-sam-overview.md#what-is-sam-cli)
+ 如需使用 AWS SAM CLI`sam build`命令的文件，請參閱 [使用 建置 簡介 AWS SAM](using-sam-cli-build.md)。

`sam build` 命令會準備應用程式以進行開發人員工作流程中的後續步驟，例如本機測試或部署到 AWS 雲端。

## Usage
<a name="ref-sam-cli-build-usage"></a>

```
$ sam build <arguments> <options>
```

## 引數
<a name="ref-sam-cli-build-args"></a>

**Resource ID (資源 ID)**  <a name="ref-sam-cli-build-args-resource-id"></a>
選用。指示 AWS SAM 在 [AWS SAM 範本](what-is-sam-overview.md#what-is-sam-template)中建立宣告的單一資源。指定資源的建置成品將是唯一可用於工作流程中後續命令的建置成品，即 `sam package`和 。 `sam deploy`

## 選項
<a name="ref-sam-cli-build-options"></a>

`--base-dir, -s DIRECTORY`  <a name="ref-sam-cli-build-options-base-dir"></a>
針對此目錄，解析函數或 layer 原始程式碼的相對路徑。如果您想要變更原始程式碼資料夾的相對路徑解析方式，請使用此選項。根據預設，相對路徑會根據範本的位置進行解析 AWS SAM 。  
除了您要建置的根應用程式或堆疊中的資源之外，此選項也會套用巢狀應用程式或堆疊。  
此選項適用於下列資源類型和屬性：  
+ 資源類型：`AWS::Serverless::Function`屬性： `CodeUri`
+ 資源類型：`AWS::Serverless::Function`資源屬性：`Metadata`項目： `DockerContext`
+ 資源類型：`AWS::Serverless::LayerVersion`屬性： `ContentUri`
+ 資源類型：`AWS::Lambda::Function`屬性： `Code`
+ 資源類型：`AWS::Lambda::LayerVersion`屬性： `Content`

`--beta-features | --no-beta-features`  <a name="ref-sam-cli-build-options-beta-features"></a>
允許或拒絕 Beta 版功能。

`--build-dir, -b DIRECTORY`  <a name="ref-sam-cli-build-options-build-dir"></a>
存放建置成品的目錄路徑。此選項會移除此目錄及其所有內容。

`--build-image TEXT`  <a name="ref-sam-cli-build-options-build-image"></a>
您要為組建提取的容器映像的 URI。根據預設， 會從 Amazon ECR Public AWS SAM 提取容器映像。使用此選項從另一個位置提取映像。  
您可以多次指定此選項。此選項的每個執行個體都可以採用字串或鍵值對。如果您指定字串，它是要用於應用程式中所有資源的容器映像的 URI。例如 `sam build --use-container --build-image amazon/aws-sam-cli-build-image-python3.8`。如果您指定金鑰/值對，則金鑰是資源名稱，而值是用於該資源的容器映像的 URI。例如 `sam build --use-container --build-image Function1=amazon/aws-sam-cli-build-image-python3.8`。使用鍵/值對，您可以為不同的資源指定不同的容器映像。  
此選項僅適用於指定 `--use-container`選項時，否則將導致錯誤。

`--build-in-source | --no-build-in-source`  <a name="ref-sam-cli-build-options-build-in-source"></a>
提供 `--build-in-source` 以直接在來源資料夾中建置您的專案。  
`--build-in-source` 選項支援下列執行時間和建置方法：  
+ **執行時間** – `sam init --runtime`選項支援的任何Node.js執行時間。
+ **組建方法** – `Makefile`、`esbuild`。
`--build-in-source` 選項與下列選項不相容：  
+ `--hook-name`
+ `--use-container `
*預設*：`--no-build-in-source`

`--cached | --no-cached`  <a name="ref-sam-cli-build-options-cached"></a>
啟用或停用快取組建。使用此選項可重複使用未從先前 builds 變更的建置成品。 會 AWS SAM 評估您是否變更專案目錄中的任何檔案。根據預設，組建不會快取。如果叫用 `--no-cached`選項，則會覆寫 samconfig.toml 中的`cached = true`設定。  
AWS SAM 不會評估您是否變更了專案所依賴的第三方模組，而您尚未提供特定版本。例如，如果您的 Python 函數包含項目為 `requirements.txt`的檔案`requests=1.x`，而最新的請求模組版本從 變更為 `1.1` `1.2`，則 AWS SAM 在您執行非快取建置之前，不會提取最新版本。

`--cache-dir`  <a name="ref-sam-cli-build-options-cached-dir"></a>
`--cached` 指定 時存放快取成品的目錄。預設快取目錄為 `.aws-sam/cache`。

`--config-env TEXT`  <a name="ref-sam-cli-build-options-config-env"></a>
在要使用的組態檔案中指定預設參數值的環境名稱。預設值為「預設值」。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--config-file PATH`  <a name="ref-sam-cli-build-options-config-file"></a>
組態檔案的路徑和檔案名稱，其中包含要使用的預設參數值。專案目錄根目錄中的預設值為「`samconfig.toml`」。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--container-env-var, -e TEXT`  <a name="ref-sam-cli-build-options-container-env-var"></a>
要傳遞至建置容器的環境變數。您可以多次指定此選項。此選項的每個執行個體都會接受金鑰值對，其中金鑰是資源和環境變數，而值是環境變數的值。例如：`--container-env-var Function1.GITHUB_TOKEN=TOKEN1 --container-env-var Function2.GITHUB_TOKEN=TOKEN2`。  
此選項僅適用於指定 `--use-container`選項時，否則將導致錯誤。

`--container-env-var-file, -ef PATH`  <a name="ref-sam-cli-build-options-container-env-var-file"></a>
JSON 檔案的路徑和檔案名稱，其中包含容器環境變數的值。如需容器環境變數檔案的詳細資訊，請參閱 [容器環境變數檔案](serverless-sam-cli-using-build.md#serverless-sam-cli-using-container-environment-file)。  
此選項僅適用於指定 `--use-container`選項時，否則將導致錯誤。

`--debug`  <a name="ref-sam-cli-build-options-debug"></a>
開啟偵錯記錄以列印 產生的偵錯訊息 AWS SAM CLI，並顯示時間戳記。

`--docker-network TEXT`  <a name="ref-sam-cli-build-options-docker-network"></a>
指定 Lambda Docker容器應連線的現有Docker網路的名稱或 ID，以及預設橋接網路。如果未指定，Lambda 容器只會連線到預設橋接Docker器網路。

`--exclude, -x`  <a name="ref-sam-cli-build-options-exclude"></a>
要從 () 排除的資源名稱`sam build`。例如，如果您的範本包含 `Function1`、 和 `Function2`，`Function3`而且您執行 `sam build --exclude Function2`，`Function3`則只會建置 `Function1`和 。

`--help`  <a name="ref-sam-cli-build-options-help"></a>
顯示此訊息並結束。

`--hook-name TEXT`  <a name="ref-sam-cli-build-options-hook-name"></a>
用於擴展 AWS SAM CLI功能的勾點名稱。  
接受的值：`terraform`。

`--manifest , -m PATH`  <a name="ref-sam-cli-build-options-manifest"></a>
要使用的自訂相依性資訊清單檔案路徑 （例如 package.json)，而非預設值。

`--mount-symlinks`  <a name="ref-sam-cli-build-options-mount-symlinks"></a>
確保 AWS SAM CLI 一律掛載檔案中存在的符號連結來建置或叫用。這僅適用於頂層目錄上的符號連結 （也就是直接在函數根目錄上的符號連結）。根據預設，不會掛載符號連結，除了在 NodeJS `node_modules`中使用 `build-in-source` 時需要的符號連結。

`--no-use-container`  <a name="ref-sam-cli-build-options-no-use-container"></a>
可讓您使用 IDE 工具組來設定預設行為的選項。您也可以使用 在本機機器中`sam build --no-use-container`執行組建，而不是使用 Docker 容器。

`--parallel`  <a name="ref-sam-cli-build-options-parallel"></a>
啟用平行建置。使用此選項來平行建置 AWS SAM 範本的函數和層。根據預設，函數和層會依序建置。

`--parameter-overrides`  <a name="ref-sam-cli-build-options-parameter-overrides"></a>
（選用） 包含 CloudFormation 參數覆寫編碼為鍵值對的字串。使用與 AWS Command Line Interface () 相同的格式AWS CLI。例如：'`ParameterKey`=`KeyPairName`， `ParameterValue`=`MyKey` `ParameterKey`=`InstanceType`， `ParameterValue`=`t1.micro`'。此選項與 不相容`--hook-name`。

`--profile TEXT`  <a name="ref-sam-cli-build-options-profile"></a>
從您的登入資料檔案中取得 AWS 登入資料的特定設定檔。

`--region TEXT`  <a name="ref-sam-cli-build-options-region"></a>
 AWS 區域 要部署到的 。例如 us-east-1。

`--save-params`  <a name="ref-sam-cli-build-options-save-params"></a>
將您在命令列提供的參數儲存至 AWS SAM 組態檔案。

`--skip-prepare-infra`  <a name="ref-sam-cli-build-options-skip-prepare-infra"></a>
如果未進行任何基礎設施變更，請略過準備階段。使用 搭配 `--hook-name`選項。

`--skip-pull-image`  <a name="ref-sam-cli-build-options-skip-pull-image"></a>
指定命令是否應該略過提取 Lambda 執行時間的最新 Docker 映像。

`--template-file, --template, -t PATH`  <a name="ref-sam-cli-build-options-template-file"></a>
 AWS SAM 範本檔案 的路徑和檔案名稱`[default: template.[yaml|yml]]`。此選項與 不相容`--hook-name`。

`--terraform-project-root-path`  <a name="ref-sam-cli-build-options-terraform-project-root-path"></a>
最上層目錄的相對或絕對路徑，其中包含您的Terraform組態檔案或函數原始程式碼。如果這些檔案位於包含Terraform根模組的目錄之外，請使用此選項指定其絕對或相對路徑。此選項需要`--hook-name`將 設定為 `terraform`。

`--use-container`, `-u`  <a name="ref-sam-cli-build-options-use-container"></a>
如果您的函數依賴於具有原生編譯相依性的套件，請使用此選項在類似 Lambda 的 Docker 容器中建置函數。

## 範例
<a name="sam-cli-command-reference-sam-build-examples"></a>

如需使用 `sam build` 子命令的詳細範例和深入演練，請參閱 [使用 建置 簡介 AWS SAM](using-sam-cli-build.md)。

# sam delete
<a name="sam-cli-command-reference-sam-delete"></a>

此頁面提供 AWS Serverless Application Model Command Line Interface (AWS SAM CLI) `sam delete`命令的參考資訊。

如需 的簡介 AWS SAM CLI，請參閱 [什麼是 AWS SAM CLI？](what-is-sam-overview.md#what-is-sam-cli)

`sam delete` 命令會刪除 CloudFormation 堆疊、封裝並部署至 Amazon S3 和 Amazon ECR 的成品，以及 AWS SAM 範本檔案，藉此刪除 AWS SAM 應用程式。

此命令也會檢查是否已部署 Amazon ECR 配套堆疊，如果是，則提示使用者刪除該堆疊和 Amazon ECR 儲存庫。如果指定 `--no-prompts` ，則依預設會刪除配套堆疊和 Amazon ECR 儲存庫。

## Usage
<a name="sam-cli-command-reference-sam-delete-usage"></a>

```
$ sam delete <options>
```

## 選項
<a name="sam-cli-command-reference-sam-delete-options"></a>

`--config-env TEXT`  <a name="sam-cli-command-reference-sam-delete-options-config-env"></a>
在要使用的組態檔案中指定預設參數值的環境名稱。預設值為 `default`。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--config-file PATH`  <a name="sam-cli-command-reference-sam-delete-options-config-file"></a>
組態檔案的路徑和檔案名稱，其中包含要使用的預設參數值。預設值位於專案目錄的根`samconfig.toml`目錄中。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--debug`  <a name="sam-cli-command-reference-sam-delete-options-debug"></a>
開啟偵錯記錄以列印 產生的偵錯訊息 AWS SAM CLI，並顯示時間戳記。

`--help`  <a name="sam-cli-command-reference-sam-delete-options-help"></a>
顯示此訊息並結束。

`--no-prompts`  <a name="sam-cli-command-reference-sam-delete-options-no-prompts"></a>
指定此選項，讓 以非互動式模式 AWS SAM 運作。必須使用 `--stack-name`選項或在組態`toml`檔案中提供堆疊名稱。

`--profile TEXT`  <a name="sam-cli-command-reference-sam-delete-options-profile"></a>
從您的登入資料檔案中取得 AWS 登入資料的特定設定檔。

`--region TEXT`  <a name="sam-cli-command-reference-sam-delete-options-region"></a>
 AWS 要部署的區域。例如 us-east-1。

`--s3-bucket`  <a name="sam-cli-command-reference-sam-delete-options-s3-bucket"></a>
您要刪除的 Amazon S3 儲存貯體路徑。

`--s3-prefix`  <a name="sam-cli-command-reference-sam-delete-options-s3-prefix"></a>
您要刪除的 Amazon S3 儲存貯體字首。

`--save-params`  <a name="sam-cli-command-reference-sam-delete-options-save-params"></a>
將您在命令列提供的參數儲存至 AWS SAM 組態檔案。

`--stack-name TEXT`  <a name="sam-cli-command-reference-sam-delete-options-stack-name"></a>
您要刪除的 CloudFormation 堆疊名稱。

## 範例
<a name="sam-cli-command-reference-sam-delete-examples"></a>

下列命令會刪除堆疊 `MY-STACK`。

```
$ sam delete --stack-name MY-STACK
```

下列命令會刪除堆疊`MY-STACK`和 S3 儲存貯體 `sam-s3-demo-bucket`：

```
$ sam delete \
    --stack-name MyStack \
    --s3-bucket MySAMBucket
```

# sam deploy
<a name="sam-cli-command-reference-sam-deploy"></a>

此頁面提供 AWS Serverless Application Model Command Line Interface (AWS SAM CLI) `sam deploy`命令的參考資訊。
+ 如需 的簡介 AWS SAM CLI，請參閱 [什麼是 AWS SAM CLI？](what-is-sam-overview.md#what-is-sam-cli)
+ 如需使用 AWS SAM CLI`sam deploy`命令的文件，請參閱 [使用 部署簡介 AWS SAM](using-sam-cli-deploy.md)。

`sam deploy` 命令 AWS 雲端 會使用 將應用程式部署到 AWS CloudFormation。

## Usage
<a name="ref-sam-cli-deploy-usage"></a>

```
$ <environment variables> sam deploy <options>
```

## 環境變數
<a name="ref-sam-cli-deploy-env"></a>

`SAM_CLI_POLL_DELAY`  <a name="ref-sam-cli-deploy-env-sam-cli-poll-delay"></a>
設定 Shell 中值為 秒`SAM_CLI_POLL_DELAY`的環境變數，以設定 AWS SAM CLI 檢查 CloudFormation 堆疊狀態的頻率，這在查看調節時非常有用 CloudFormation。此 env 變數用於輪詢在執行 時進行的 `describe_stack` API 呼叫`sam deploy`。  
以下是此變數的範例：  

```
$ SAM_CLI_POLL_DELAY=5 sam deploy
```

## 選項
<a name="ref-sam-cli-deploy-options"></a>

`--capabilities LIST`  <a name="ref-sam-cli-deploy-options-capabilities"></a>
您必須指定才能允許 CloudFormation 建立特定堆疊的功能清單。某些堆疊範本可能包含會影響 許可的資源 AWS 帳戶，例如，透過建立新的 AWS Identity and Access Management (IAM) 使用者。對於這些堆疊，您必須指定此選項來明確認可其功能。唯一有效的值為 `CAPABILITY_IAM` 和 `CAPABILITY_NAMED_IAM`。如果您有 IAM 資源，則可以指定任一功能。如果您有具有自訂名稱的 IAM 資源，則必須指定 `CAPABILITY_NAMED_IAM`。如果您未指定此選項，則操作會傳回`InsufficientCapabilities`錯誤。  
當您部署包含巢狀應用程式的應用程式時，您必須使用 `CAPABILITY_AUTO_EXPAND`來確認應用程式包含巢狀應用程式。如需詳細資訊，請參閱[部署巢狀應用程式](serverless-sam-template-nested-applications.md#serverless-sam-templates-nested-applications-deploying)。

`--config-env TEXT`  <a name="ref-sam-cli-deploy-options-config-env"></a>
在要使用的組態檔案中指定預設參數值的環境名稱。預設值為 `default`。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--config-file PATH`  <a name="ref-sam-cli-deploy-options-config-file"></a>
組態檔案的路徑和檔案名稱，其中包含要使用的預設參數值。預設值位於專案目錄的根`samconfig.toml`目錄中。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--confirm-changeset | --no-confirm-changeset`  <a name="ref-sam-cli-deploy-options-confirm-changeset"></a>
提示 AWS SAM CLI確認 是否部署計算的變更集。

`--debug`  <a name="ref-sam-cli-deploy-options-debug"></a>
開啟偵錯記錄以列印 產生的偵錯訊息 AWS SAM CLI，並顯示時間戳記。

`--disable-rollback | --no-disable-rollback`  <a name="ref-sam-cli-deploy-options-disable-rollback"></a>
指定在部署期間發生錯誤時是否要轉返 CloudFormation 堆疊。根據預設，如果在部署期間發生錯誤，您的 CloudFormation 堆疊會回復到最後的穩定狀態。如果您指定 `--disable-rollback`並在部署期間發生錯誤，則在發生錯誤之前建立或更新的資源不會復原。

`--fail-on-empty-changeset | --no-fail-on-empty-changeset`  <a name="ref-sam-cli-deploy-options-fail-on-empty-changeset"></a>
指定如果堆疊沒有變更，是否傳回非零結束碼。預設行為是傳回非零結束代碼。

`--force-upload`  <a name="ref-sam-cli-deploy-options-force-upload"></a>
指定此選項以上傳成品，即使它們符合 Amazon S3 儲存貯體中的現有成品。比對成品會遭到覆寫。

`--guided, -g`  <a name="ref-sam-cli-deploy-options-guided"></a>
指定此選項，讓 AWS SAM CLI使用提示來引導您完成部署。

`--help`  <a name="ref-sam-cli-deploy-options-help"></a>
顯示此訊息並結束。

`--image-repositories TEXT`  <a name="ref-sam-cli-deploy-options-image-repositories"></a>
函數映射至其 Amazon ECR 儲存庫 URI。依其邏輯 ID 參考函數。以下是範例：  

```
$ sam deploy --image-repositories Function1=123456789012.dkr.ecr.us-east-1.amazonaws.com/my-repo
```
您可以在單一命令中多次指定此選項。

`--image-repository TEXT`  <a name="ref-sam-cli-deploy-options-image-repository"></a>
此命令上傳函數映像的 Amazon ECR 儲存庫名稱。使用 `Image`套件類型宣告的函數需要此選項。

`--kms-key-id TEXT`  <a name="ref-sam-cli-deploy-options-kms-key-id"></a>
用來加密 Amazon S3 儲存貯體中靜態成品的 AWS Key Management Service (AWS KMS) 金鑰 ID。如果您未指定此選項，則 AWS SAM 會使用 Amazon S3-managed加密金鑰。

`--metadata`  <a name="ref-sam-cli-deploy-options-metadata"></a>
要連接到範本中參考之所有成品的中繼資料映射。

`--no-execute-changeset`  <a name="ref-sam-cli-deploy-options-no-execute-changeset"></a>
指出是否套用變更集。如果您想要在套用變更集之前檢視堆疊變更，請指定此選項。此命令會 CloudFormation 建立變更集，然後結束而不套用變更集。若要套用變更集，請執行相同的命令，而不使用此選項。

`--no-progressbar`  <a name="ref-sam-cli-deploy-options-no-progressbar"></a>
將成品上傳至 Amazon S3 時，請勿顯示進度列。

`--notification-arns LIST`  <a name="ref-sam-cli-deploy-options-notification-arns"></a>
與堆疊建立 CloudFormation 關聯的 Amazon Simple Notification Service (Amazon SNS) 主題 ARNs 清單。

`--on-failure [ROLLBACK | DELETE | DO_NOTHING]`  <a name="ref-sam-cli-deploy-options-on-failure"></a>
指定堆疊無法建立時要採取的動作。  
下列選項可供使用：  
+ `ROLLBACK` – 將堆疊復原至先前的已知良好狀態。
+ `DELETE` – 如果存在堆疊，則將堆疊復原至先前的已知良好狀態。否則， 會刪除堆疊。
+ `DO_NOTHING` – 既不會轉返，也不會刪除堆疊。效果與 的效果相同`--disable-rollback`。
預設行為是 `ROLLBACK`。  
您可以指定 `--disable-rollback`選項或 `--on-failure`選項，但不能同時指定兩者。

`--parameter-overrides LIST`  <a name="ref-sam-cli-deploy-options-parameter-overrides"></a>
包含 CloudFormation 參數的字串會覆寫編碼為鍵值對的字串。每個覆寫都會使用 格式 `ParameterKey=name,ParameterValue=value`。多個覆寫會以空格分隔。以下是兩個範例：  

```
$ sam deploy --parameter-overrides ParameterKey=value1,ParameterValue=value2
```

```
$ sam deploy --parameter-overrides ParameterKey=value1,ParameterValue=value2 ParameterKey=hello,ParameterValue=world ParameterKey=apple,ParameterValue=banana
```

`--profile TEXT`  <a name="ref-sam-cli-deploy-options-profile"></a>
從您的登入資料檔案中取得 AWS 登入資料的特定設定檔。

`--region TEXT`  <a name="ref-sam-cli-deploy-options-region"></a>
 AWS 區域 要部署到的 。例如 us-east-1。

`--resolve-image-repos`  <a name="ref-sam-cli-deploy-options-resolve-image-repos"></a>
自動建立 Amazon ECR 儲存庫，用於封裝和部署非引導式部署。此選項僅適用於具有`PackageType: Image`指定 的函數和層。如果您指定 `--guided`選項，則 AWS SAM CLI會忽略 `--resolve-image-repos`。  
如果 使用此選項 AWS SAM 自動為函數或層建立任何 Amazon ECR 儲存庫，且您稍後從 AWS SAM 範本中刪除這些函數或層，則會自動刪除對應的 Amazon ECR 儲存庫。

`--resolve-s3`  <a name="ref-sam-cli-deploy-options-resolve-s3"></a>
自動建立 Amazon S3 儲存貯體，用於封裝和部署非引導式部署。如果您指定 `--guided`選項，則 AWS SAM CLI 會忽略 `--resolve-s3`。如果您同時指定 `--s3-bucket`和 `--resolve-s3`選項，則會發生錯誤。

`--role-arn TEXT`  <a name="ref-sam-cli-deploy-options-role-arn"></a>
套用變更集時 CloudFormation 擔任之 IAM 角色的 Amazon Resource Name (ARN)。

`--s3-bucket TEXT`  <a name="ref-sam-cli-deploy-options-s3-bucket"></a>
此命令上傳 CloudFormation 範本的 Amazon S3 儲存貯體名稱。如果您的範本大於 51，200 個位元組，則需要 `--s3-bucket`選項或 `--resolve-s3`選項。如果您同時指定 `--s3-bucket`和 `--resolve-s3`選項，則會發生錯誤。

`--s3-prefix TEXT`  <a name="ref-sam-cli-deploy-options-s3-prefix"></a>
新增至上傳到 Amazon S3 儲存貯體之成品名稱的字首。字首名稱是 Amazon S3 儲存貯體的路徑名稱 （資料夾名稱）。

`--save-params`  <a name="ref-sam-cli-deploy-options-save-params"></a>
將您在命令列提供的參數儲存至 AWS SAM 組態檔案。

`--signing-profiles LIST`  <a name="ref-sam-cli-deploy-options-signing-profiles"></a>
用來簽署部署套件的簽署設定檔清單。此選項會取得索引鍵/值對的清單，其中索引鍵是要簽署的函數或 layer 的名稱，而值是簽署描述檔，選用的描述檔擁有者以 分隔`:`。例如 `FunctionNameToSign=SigningProfileName1 LayerNameToSign=SigningProfileName2:SigningProfileOwner`。

`--stack-name TEXT`  <a name="ref-sam-cli-deploy-options-stack-name"></a>
（必要） 您要部署的 CloudFormation 堆疊名稱。如果您指定現有的堆疊，則命令會更新堆疊。如果您指定新的堆疊，則命令會建立它。

`--tags LIST`  <a name="ref-sam-cli-deploy-options-tags"></a>
要與建立或更新的堆疊建立關聯的標籤清單。 CloudFormation 也會將這些標籤傳播到堆疊中支援該標籤的資源。

`--template-file, --template, -t PATH`  <a name="ref-sam-cli-deploy-options-template-file"></a>
範本 AWS SAM 所在的路徑和檔案名稱。  
如果您指定此選項，則 AWS SAM 只會部署範本及其指向的本機資源。

`--use-json`  <a name="ref-sam-cli-deploy-options-use-json"></a>
 CloudFormation 範本的輸出 JSON。預設輸出為 YAML。

## 範例
<a name="sam-cli-command-reference-sam-deploy-examples"></a>

如需使用 `sam deploy` 子命令的詳細範例和深入演練，請參閱 [使用 部署簡介 AWS SAM](using-sam-cli-deploy.md)。

# sam init
<a name="sam-cli-command-reference-sam-init"></a>

此頁面提供 AWS Serverless Application Model Command Line Interface (AWS SAM CLI) `sam init`命令的參考資訊。
+ 如需 的簡介 AWS SAM CLI，請參閱 [什麼是 AWS SAM CLI？](what-is-sam-overview.md#what-is-sam-cli)
+ 如需使用 AWS SAM CLI`sam init`命令的文件，請參閱 [在 中建立您的應用程式 AWS SAM](using-sam-cli-init.md)。

`sam init` 命令提供選項來初始化新的無伺服器應用程式。

## Usage
<a name="sam-cli-command-reference-sam-init-usage"></a>

```
$ sam init <options>
```

## 選項
<a name="sam-cli-command-reference-sam-init-options"></a>

`--app-template TEXT`  <a name="sam-cli-command-reference-sam-init-options-app-template"></a>
您要使用之受管應用程式範本的識別符。如果您不確定，請呼叫 ，`sam init`而不使用互動式工作流程的選項。  
如果`--no-interactive`已指定 `--location` 且未提供 ，則需要此參數。  
此參數僅適用於 0. AWS SAM CLI30.0 版和更新版本。使用舊版指定此參數會導致錯誤。

`--application-insights | --no-application-insights`  <a name="sam-cli-command-reference-sam-init-options-application-insights"></a>
 為您的應用程式啟用 Amazon CloudWatch Application Insights 監控。如需詳細資訊，請參閱 [使用 CloudWatch Application Insights 監控無 AWS SAM 伺服器應用程式](monitor-app-insights.md)。  
 預設選項為 `--no-application-insights`。

`--architecture, -a [ x86_64 | arm64 ]`  <a name="sam-cli-command-reference-sam-init-options-architecture"></a>
應用程式 Lambda 函數的指示集架構。指定 `x86_64`或 之一`arm64`。

`--base-image [ amazon/dotnet8-base | amazon/dotnet6-base | amazon/java25-base | amazon/java21-base | amazon/java17-base | amazon/java11-base | amazon/nodejs24.x-base | amazon/nodejs22.x-base | amazon/nodejs20.x-base | amazon/nodejs18.x-base | amazon/nodejs16.x-base | amazon/python3.14-base | amazon/python3.13-base | amazon/python3.12-base | amazon/python3.11-base | amazon/python3.10-base | amazon/python3.9-base | amazon/python3.8-base | amazon/ruby3.4-base | amazon/ruby3.3-base | amazon/ruby3.2-base ]`  <a name="sam-cli-command-reference-sam-init-options-base-image"></a>
您應用程式的基礎映像。此選項僅適用於套件類型為 時`Image`。  
如果指定 `--no-interactive` 、`--package-type`指定為 且未`--location`指定 `Image`，則需要此參數。

`--config-env TEXT`  <a name="sam-cli-command-reference-sam-init-options-config-env"></a>
在要使用的組態檔案中指定預設參數值的環境名稱。預設值為「預設值」。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--config-file PATH`  <a name="sam-cli-command-reference-sam-init-options-config-file"></a>
組態檔案的路徑和檔案名稱，其中包含要使用的預設參數值。預設值為專案目錄根目錄中的 "samconfig.toml"。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--debug`  <a name="sam-cli-command-reference-sam-init-options-debug"></a>
開啟偵錯記錄以列印 產生的偵錯訊息 AWS SAM CLI，並顯示時間戳記。

`--dependency-manager, -d [ gradle | mod | maven | bundler | npm | cli-package | pip ]`  <a name="sam-cli-command-reference-sam-init-options-dependency-manager"></a>
Lambda 執行時間的相依性管理員。

`--extra-content`  <a name="sam-cli-command-reference-sam-init-options-extra-content"></a>
覆寫範本`cookiecutter.json`組態中的任何自訂參數，例如 `{"customParam1": "customValue1", "customParam2":"customValue2"}`。

`--help, -h`  <a name="sam-cli-command-reference-sam-init-options-help"></a>
顯示此訊息並結束。

`--location, -l TEXT`  <a name="sam-cli-command-reference-sam-init-options-location"></a>
範本或應用程式位置 (Git、Mercurial、HTTP/HTTPS、.zip 檔案、路徑）。  
如果指定 `--no-interactive` 且`--app-template`未提供 `--runtime`、 和 `--name`，則需要此參數。  
對於 Git 儲存庫，您必須使用儲存庫根的位置。  
對於本機路徑，範本必須是 .zip 檔案或 [Cookiecutter](https://cookiecutter.readthedocs.io/en/latest/README.html) 格式。

`--name, -n TEXT`  <a name="sam-cli-command-reference-sam-init-options-name"></a>
要產生為目錄的專案名稱。  
如果`--no-interactive`已指定 `--location` 且未提供 ，則需要此參數。

`--no-input`  <a name="sam-cli-command-reference-sam-init-options-no-input"></a>
停用 Cookiecutter 提示，並接受範本組態中定義的 vcf預設值。

`--no-interactive`  <a name="sam-cli-command-reference-sam-init-options-no-interactive"></a>
停用啟動參數的互動式提示，如果遺失任何必要值，則失敗。

`--output-dir, -o PATH`  <a name="sam-cli-command-reference-sam-init-options-output-dir"></a>
已初始化應用程式輸出的位置。

`--package-type [ Zip | Image ]`  <a name="sam-cli-command-reference-sam-init-options-package-type"></a>
範例應用程式的套件類型。 `Zip`會建立 .zip 檔案封存，並`Image`建立容器映像。

`--runtime, -r [ dotnet8 | dotnet6 | java25 | java21 | java17 | java11 | nodejs24.x | nodejs22.x | nodejs20.x | nodejs18.x | nodejs16.x | python3.14 | python3.13 | python3.12 | python3.11 | python3.10 | python3.9 | python3.8 | ruby3.4 | ruby3.3 | ruby3.2 ]`  <a name="sam-cli-command-reference-sam-init-options-runtime"></a>
應用程式的 Lambda 執行時間。此選項僅適用於套件類型為 時`Zip`。  
如果指定 `--no-interactive` 、`--package-type`指定為 且未`--location`指定 `Zip`，則需要此參數。

`--save-params`  <a name="sam-cli-command-reference-sam-init-options-save-params"></a>
將您在命令列提供的參數儲存至 AWS SAM 組態檔案。

`--tracing | --no-tracing`  <a name="sam-cli-command-reference-sam-init-options-tracing"></a>
為您的 Lambda 函數啟用 AWS X-Ray 追蹤。

## 範例
<a name="sam-cli-command-reference-sam-init-examples"></a>

如需使用 `sam init` 子命令的詳細範例和深入演練，請參閱 [在 中建立您的應用程式 AWS SAM](using-sam-cli-init.md)。

# sam list
<a name="sam-cli-command-reference-sam-list"></a>

此頁面提供 AWS Serverless Application Model Command Line Interface (AWS SAM CLI) `sam list`命令的參考資訊。

如需 的簡介 AWS SAM CLI，請參閱 [什麼是 AWS SAM CLI？](what-is-sam-overview.md#what-is-sam-cli)

`sam list` 命令會輸出有關無伺服器應用程式中資源和無伺服器應用程式狀態的重要資訊。在部署**sam list**前後使用 在本機和雲端開發期間提供協助。

## Usage
<a name="sam-cli-command-reference-sam-list-usage"></a>

```
$ sam list <options> <subcommand>
```

## 選項
<a name="sam-cli-command-reference-sam-list-options"></a>

`--help, -h`  <a name="sam-cli-command-reference-sam-list-options-help"></a>
顯示此訊息並結束。

## 子命令
<a name="sam-cli-command-reference-sam-list-subcommands"></a>

`endpoints`  <a name="sam-cli-command-reference-sam-list-subcommands-endpoints"></a>
顯示 CloudFormation 堆疊中的雲端和本機端點清單。如需詳細資訊，請參閱[sam list endpoints](sam-cli-command-reference-sam-list-endpoints.md)。

`resources`  <a name="sam-cli-command-reference-sam-list-subcommands-resources"></a>
顯示部署 AWS CloudFormation 時在 中建立的 AWS Serverless Application Model (AWS SAM) 範本中的資源。如需詳細資訊，請參閱[sam list resources](sam-cli-command-reference-sam-list-resources.md)。

`stack-outputs`  <a name="sam-cli-command-reference-sam-list-subcommands-stack-outputs"></a>
顯示來自 AWS SAM 或 CloudFormation 範本的 CloudFormation 堆疊輸出。如需詳細資訊，請參閱[sam list stack-outputs](sam-cli-command-reference-sam-list-stack-outputs.md)。

# sam list endpoints
<a name="sam-cli-command-reference-sam-list-endpoints"></a>

此頁面提供 AWS Serverless Application Model 命令列界面 (AWS SAM CLI) `sam list endpoints`子命令的參考資訊。

如需 的簡介 AWS SAM CLI，請參閱 [什麼是 AWS SAM CLI？](what-is-sam-overview.md#what-is-sam-cli)

`sam list endpoints` 子命令會顯示您 CloudFormation 堆疊中的雲端和本機端點清單。您可以透過 **sam local**和 **sam sync**命令與這些資源互動。

AWS Lambda 此命令支援 和 Amazon API Gateway 資源類型。

**注意**  
為您的 Amazon API Gateway 資源設定時，支援自訂網域。此命令將輸出自訂網域，而不是預設端點。

## Usage
<a name="sam-cli-command-reference-sam-list-endpoints-usage"></a>

```
$ sam list endpoints <options>
```

## 選項
<a name="sam-cli-command-reference-sam-list-endpoints-options"></a>

`--config-env TEXT`  <a name="sam-cli-command-reference-sam-list-endpoints-options-config-env"></a>
在要使用的組態檔案中指定預設參數值的環境名稱。  
*預設值*：`default`  
如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--config-file TEXT`  <a name="sam-cli-command-reference-sam-list-endpoints-options-config-file"></a>
組態檔案的路徑和檔案名稱，其中包含要使用的預設參數值。  
*預設值*：`samconfig.toml`在目前的工作目錄中。  
如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--debug`  <a name="sam-cli-command-reference-sam-list-endpoints-options-debug"></a>
開啟偵錯記錄，以列印由具有時間戳記的 AWS SAM CLI產生的偵錯訊息。

`--help, -h`  <a name="sam-cli-command-reference-sam-list-endpoints-options-help"></a>
顯示此訊息並結束。

`--output [json|table]`  <a name="sam-cli-command-reference-sam-list-endpoints-options-output"></a>
指定輸出結果的格式。  
*預設值*：`table`

`--profile TEXT`  <a name="sam-cli-command-reference-sam-list-endpoints-options-profile"></a>
從登入資料檔案選取特定設定檔以取得 AWS 登入資料。

`--region TEXT`  <a name="sam-cli-command-reference-sam-list-endpoints-options-region"></a>
設定服務 AWS 的區域。例如 `us-east-1`。

`--save-params`  <a name="sam-cli-command-reference-sam-list-endpoints-options-save-params"></a>
將您在命令列提供的參數儲存至 AWS SAM 組態檔案。

`--stack-name TEXT`  <a name="sam-cli-command-reference-sam-list-endpoints-options-stack-name"></a>
部署堆疊的名稱 CloudFormation 。您可以在應用程式的 `samconfig.toml` 檔案或指定的組態檔案中找到堆疊名稱。  
未指定此選項時，會顯示範本中定義的本機資源。

`--template-file, --template, -t PATH`  <a name="sam-cli-command-reference-sam-list-endpoints-options-template"></a>
AWS SAM 範本檔案。  
*預設值*：`template.[yaml|yml|json]`

## 範例
<a name="sam-cli-command-reference-sam-list-endpoints-examples"></a>

從名為 的 CloudFormation 堆疊中，以 json 格式顯示已部署資源端點的輸出`test-stack`。

```
$ sam list endpoints --stack-name test-stack --output json
			
[
  {
    "LogicalResourceId": "HelloWorldFunction",
    "PhysicalResourceId": "sam-app-test-list-HelloWorldFunction-H85Y7yIV7ZLq",
    "CloudEndpoint": "https://zt55oi7kbljxjmcoahsj3cknwu0rposq.lambda-url.us-east-1.on.aws/",
    "Methods": "-"
  },
  {
    "LogicalResourceId": "ServerlessRestApi",
    "PhysicalResourceId": "uj80uoe2o2",
    "CloudEndpoint": [
      "https://uj80uoe2o2.execute-api.us-east-1.amazonaws.com/Prod",
      "https://uj80uoe2o2.execute-api.us-east-1.amazonaws.com/Stage"
    ],
    "Methods": [
      "/hello['get']"
    ]
  }
]
```

# sam list resources
<a name="sam-cli-command-reference-sam-list-resources"></a>

此頁面提供 AWS Serverless Application Model 命令列界面 (AWS SAM CLI) `sam list resources`子命令的參考資訊。

如需 的簡介 AWS SAM CLI，請參閱 [什麼是 AWS SAM CLI？](what-is-sam-overview.md#what-is-sam-cli)

`sam list resources` 子命令會顯示部署時轉換 AWS CloudFormation 在 AWS SAM 中建立的 AWS Serverless Application Model (AWS SAM) 範本中的資源。

在部署之前**sam list resources**搭配 AWS SAM 範本使用 ，以查看要建立的資源。提供 CloudFormation 堆疊名稱以檢視包含已部署資源的合併清單。

**注意**  
若要從 AWS SAM 範本產生資源清單，會執行範本的本機轉換。此清單中包含將隨條件部署的資源，例如特定區域內的資源。

## Usage
<a name="sam-cli-command-reference-sam-list-resources-usage"></a>

```
$ sam list resources <options>
```

## 選項
<a name="sam-cli-command-reference-sam-list-resources-options"></a>

`--config-env TEXT`  <a name="sam-cli-command-reference-sam-list-resources-options-config-env"></a>
在要使用的組態檔案中指定預設參數值的環境名稱。  
*預設值*：`default`  
如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--config-file TEXT`  <a name="sam-cli-command-reference-sam-list-resources-options-config-file"></a>
組態檔案的路徑和檔案名稱，其中包含要使用的預設參數值。  
*預設值*：`samconfig.toml`在目前的工作目錄中。  
如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--debug`  <a name="sam-cli-command-reference-sam-list-resources-options-debug"></a>
開啟偵錯記錄，以列印由具有時間戳記的 AWS SAM CLI產生的偵錯訊息。

`--help, -h`  <a name="sam-cli-command-reference-sam-list-resources-options-help"></a>
顯示此訊息並結束。

`--output [json|table]`  <a name="sam-cli-command-reference-sam-list-resources-options-output"></a>
指定輸出結果的格式。  
*預設值*：`table`

`--profile TEXT`  <a name="sam-cli-command-reference-sam-list-resources-options-profile"></a>
從登入資料檔案選取特定設定檔以取得 AWS 登入資料。

`--region TEXT`  <a name="sam-cli-command-reference-sam-list-resources-options-region"></a>
設定服務 AWS 的區域。例如 `us-east-1`。

`--save-params`  <a name="sam-cli-command-reference-sam-list-resources-options-save-params"></a>
將您在命令列提供的參數儲存至 AWS SAM 組態檔案。

`--stack-name TEXT`  <a name="sam-cli-command-reference-sam-list-resources-options-stack-name"></a>
部署堆疊的名稱 CloudFormation 。您可以在應用程式的 `samconfig.toml` 檔案或指定的組態檔案中找到堆疊名稱。  
提供時，範本中的資源邏輯 IDs 將映射至其對應的實體 IDs CloudFormation。若要進一步了解實體 IDs，請參閱*AWS CloudFormation 《 使用者指南*》中的[資源欄位](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resources-section-structure.html#resources-section-structure-resource-fields)。  
未指定此選項時，會顯示範本中定義的本機資源。

`--template-file, --template, -t PATH`  <a name="sam-cli-command-reference-sam-list-resources-options-"></a>
AWS SAM 範本檔案。  
*預設值*：`template.[yaml|yml|json]`

## 範例
<a name="sam-cli-command-reference-sam-list-resources-examples"></a>

以資料表格式顯示 AWS SAM 範本中本機資源的輸出，以及從名為 的 CloudFormation 堆疊中部署的資源`test-stack`。從與本機範本相同的目錄執行 。

```
$ sam list resources --stack-name test-stack --output table
			
-------------------------------------------------------------------------------------------------------------------------
Logical ID                                                   Physical ID
-------------------------------------------------------------------------------------------------------------------------
HelloWorldFunction                                           sam-app-test-list-HelloWorldFunction-H85Y7yIV7ZLq
HelloWorldFunctionHelloWorldPermissionProd                   sam-app-test-list-
                                                             HelloWorldFunctionHelloWorldPermissionProd-1QH7CPOCBL2IK
HelloWorldFunctionRole                                       sam-app-test-list-HelloWorldFunctionRole-SRJDMJ6F7F41
ServerlessRestApi                                            uj80uoe2o2
ServerlessRestApiDeployment47fc2d5f9d                        pncw5f
ServerlessRestApiProdStage                                   Prod
ServerlessRestApiDeploymentf5716dc08b                        -
-------------------------------------------------------------------------------------------------------------------------
```

# sam list stack-outputs
<a name="sam-cli-command-reference-sam-list-stack-outputs"></a>

此頁面提供 AWS Serverless Application Model 命令列界面 (AWS SAM CLI) `sam list stack-outputs`子命令的參考資訊。

如需 的簡介 AWS SAM CLI，請參閱 [什麼是 AWS SAM CLI？](what-is-sam-overview.md#what-is-sam-cli)

`sam list stack-outputs` 子命令會顯示來自 AWS Serverless Application Model (AWS SAM) 或 CloudFormation 範本的 AWS CloudFormation 堆疊輸出。如需 的詳細資訊`Outputs`，請參閱*AWS CloudFormation 《 使用者指南*》中的[輸出](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html)。

## Usage
<a name="sam-cli-command-reference-sam-list-stack-outputs-usage"></a>

```
$ sam list stack-outputs <options>
```

## 選項
<a name="sam-cli-command-reference-sam-list-stack-outputs-options"></a>

`--config-env TEXT`  <a name="sam-cli-command-reference-sam-list-stack-outputs-options-config-env"></a>
在要使用的組態檔案中指定預設參數值的環境名稱。  
*預設值*：`default`  
如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--config-file TEXT`  <a name="sam-cli-command-reference-sam-list-stack-outputs-options-config-file"></a>
組態檔案的路徑和檔案名稱，其中包含要使用的預設參數值。  
*預設值*：`samconfig.toml`在目前的工作目錄中。  
如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--debug`  <a name="sam-cli-command-reference-sam-list-stack-outputs-options-debug"></a>
開啟偵錯記錄，以列印由具有時間戳記的 AWS SAM CLI產生的偵錯訊息。

`--help, -h`  <a name="sam-cli-command-reference-sam-list-stack-outputs-options-help"></a>
顯示此訊息並結束。

`--output [json|table]`  <a name="sam-cli-command-reference-sam-list-stack-outputs-options-output"></a>
指定輸出結果的格式。  
*預設值*：`table`

`--profile TEXT`  <a name="sam-cli-command-reference-sam-list-stack-outputs-options-profile"></a>
從登入資料檔案選取特定設定檔以取得 AWS 登入資料。

`--region TEXT`  <a name="sam-cli-command-reference-sam-list-stack-outputs-options-region"></a>
設定服務 AWS 的區域。例如 `us-east-1`。

`--save-params`  <a name="sam-cli-command-reference-sam-list-stack-outputs-options-save-params"></a>
將您在命令列提供的參數儲存至 AWS SAM 組態檔案。

`--stack-name TEXT`  <a name="sam-cli-command-reference-sam-list-stack-outputs-options-"></a>
部署堆疊的名稱 CloudFormation 。您可以在應用程式的 `samconfig.toml` 檔案或指定的組態檔案中找到堆疊名稱。  
此選項為必要。

## 範例
<a name="sam-cli-command-reference-sam-list-stack-outputs-examples"></a>

以資料表格式顯示 CloudFormation 堆疊中名為 之資源的輸出`test-stack`。

```
$ sam list stack-outputs --stack-name test-stack --output table
			
------------------------------------------------------------------------------------------------------------------------
OutputKey                                OutputValue                              Description
------------------------------------------------------------------------------------------------------------------------
HelloWorldFunctionIamRole                arn:aws:iam::account-number:role/sam-      Implicit IAM Role created for Hello
                                         app-test-list-HelloWorldFunctionRole-    World function
                                         SRJDMJ6F7F41
HelloWorldApi                            https://uj80uoe2o2.execute-api.us-       API Gateway endpoint URL for Prod
                                         east-1.amazonaws.com/Prod/hello/         stage for Hello World function
HelloWorldFunction                       arn:aws:lambda:us-                       Hello World Lambda Function ARN
                                         east-1:account-number:function:sam-app-
                                         test-list-
                                         HelloWorldFunction-H85Y7yIV7ZLq
------------------------------------------------------------------------------------------------------------------------
```

# sam local callback
<a name="sam-cli-command-reference-sam-local-callback"></a>

此頁面提供 AWS Serverless Application Model Command Line Interface (AWS SAM CLI) `sam local callback`命令的參考資訊。

如需 的簡介 AWS SAM CLI，請參閱 [什麼是 AWS SAM CLI？](what-is-sam-overview.md#what-is-sam-cli)

`sam local callback` 命令可讓您在開發和測試期間將回呼傳送至本機耐久函數執行。

## Usage
<a name="sam-cli-command-reference-sam-local-callback-usage"></a>

```
$ sam local callback <subcommand> <options>
```

## 選項
<a name="sam-cli-command-reference-sam-local-callback-options"></a>

`--help, -h`  <a name="sam-cli-command-reference-sam-local-callback-options-help"></a>
顯示此訊息並結束。

## 子命令
<a name="sam-cli-command-reference-sam-local-callback-subcommands"></a>

`succeed`  <a name="sam-cli-command-reference-sam-local-callback-subcommands-succeed"></a>
將成功回呼傳送至持久的函數執行。如需詳細資訊，請參閱[sam local callback succeed](sam-cli-command-reference-sam-local-callback-succeed.md)。

`fail`  <a name="sam-cli-command-reference-sam-local-callback-subcommands-fail"></a>
將失敗回呼傳送至持久的函數執行。如需詳細資訊，請參閱[sam local callback fail](sam-cli-command-reference-sam-local-callback-fail.md)。

`heartbeat`  <a name="sam-cli-command-reference-sam-local-callback-subcommands-heartbeat"></a>
將活動訊號回呼傳送至持久的函數執行。如需詳細資訊，請參閱[sam local callback heartbeat](sam-cli-command-reference-sam-local-callback-heartbeat.md)。

# sam local callback succeed
<a name="sam-cli-command-reference-sam-local-callback-succeed"></a>

將成功回呼傳送至持久的函數執行。

## Usage
<a name="ref-sam-cli-local-callback-succeed-usage"></a>

```
$ sam local callback succeed CALLBACK_ID [OPTIONS]
```

## 必要的引數
<a name="ref-sam-cli-local-callback-succeed-arguments"></a>

`CALLBACK_ID`  
要傳送成功回應的回呼的唯一識別符。

## 選項
<a name="ref-sam-cli-local-callback-succeed-options"></a>

`-r, --result TEXT`  
成功結果承載做為字串。

`--region TEXT`  
設定服務的 AWS 區域 （例如 `us-east-1`)。

`--profile TEXT`  
從登入資料檔案選取特定設定檔以取得 AWS 登入資料。

`--config-env TEXT`  
在組態檔案中指定預設參數值的環境名稱。預設：`default`

`--config-file TEXT`  
包含預設參數值的組態檔案。預設：`samconfig.toml`

`--save-params`  
將透過命令列提供的參數儲存至組態檔案。

`--beta-features / --no-beta-features`  
啟用/停用 Beta 版功能。

`--debug`  
開啟偵錯記錄以列印 CLI AWS SAM 產生的偵錯訊息，並顯示時間戳記。

`-h, --help`  
顯示此訊息並結束。

## 範例
<a name="ref-sam-cli-local-callback-succeed-examples"></a>

傳送沒有結果的成功回呼：

```
$ sam local callback succeed my-callback-id
```

傳送成功回呼與結果：

```
$ sam local callback succeed my-callback-id --result 'Task completed successfully'
```

使用簡短選項傳送成功回呼：

```
$ sam local callback succeed my-callback-id -r 'Success result'
```

# sam local callback fail
<a name="sam-cli-command-reference-sam-local-callback-fail"></a>

將失敗回呼傳送至持久的函數執行。

## Usage
<a name="ref-sam-cli-local-callback-fail-usage"></a>

```
$ sam local callback fail CALLBACK_ID [OPTIONS]
```

## 必要的引數
<a name="ref-sam-cli-local-callback-fail-arguments"></a>

`CALLBACK_ID`  
要傳送失敗回應的回呼的唯一識別符。

## 選項
<a name="ref-sam-cli-local-callback-fail-options"></a>

`--error-data TEXT`  
其他錯誤資料。

`--stack-trace TEXT`  
堆疊追蹤項目。此選項可指定多次。

`--error-type TEXT`  
錯誤類型。

`--error-message TEXT`  
詳細的錯誤訊息。

`--region TEXT`  
設定服務的 AWS 區域 （例如 `us-east-1`)。

`--profile TEXT`  
從登入資料檔案選取特定設定檔以取得 AWS 登入資料。

`--config-env TEXT`  
在組態檔案中指定預設參數值的環境名稱。預設：`default`

`--config-file TEXT`  
包含預設參數值的組態檔案。預設：`samconfig.toml`

`--save-params`  
將透過命令列提供的參數儲存至組態檔案。

`--beta-features / --no-beta-features`  
啟用/停用 Beta 版功能。

`--debug`  
開啟偵錯記錄以列印 CLI AWS SAM 產生的偵錯訊息，並顯示時間戳記。

`-h, --help`  
顯示此訊息並結束。

## 範例
<a name="ref-sam-cli-local-callback-fail-examples"></a>

傳送沒有參數的失敗回呼：

```
$ sam local callback fail my-callback-id
```

傳送失敗回呼並顯示錯誤訊息：

```
$ sam local callback fail my-callback-id --error-message 'Task failed'
```

使用所有參數傳送失敗回呼：

```
$ sam local callback fail my-callback-id --error-message 'Task failed' --error-type 'ValidationError' --stack-trace 'at line 42' --error-data '{"code": 500}'
```

# sam local callback heartbeat
<a name="sam-cli-command-reference-sam-local-callback-heartbeat"></a>

將活動訊號回呼傳送至持久的函數執行。

## Usage
<a name="ref-sam-cli-local-callback-heartbeat-usage"></a>

```
$ sam local callback heartbeat CALLBACK_ID [OPTIONS]
```

## 必要的引數
<a name="ref-sam-cli-local-callback-heartbeat-arguments"></a>

`CALLBACK_ID`  
要向其傳送活動訊號的回呼的唯一識別符。

## 選項
<a name="ref-sam-cli-local-callback-heartbeat-options"></a>

`--region TEXT`  
設定服務的 AWS 區域 （例如 `us-east-1`)。

`--profile TEXT`  
從登入資料檔案選取特定設定檔以取得 AWS 登入資料。

`--config-env TEXT`  
在組態檔案中指定預設參數值的環境名稱。預設：`default`

`--config-file TEXT`  
包含預設參數值的組態檔案。預設：`samconfig.toml`

`--save-params`  
將透過命令列提供的參數儲存至組態檔案。

`--beta-features / --no-beta-features`  
啟用/停用 Beta 版功能。

`--debug`  
開啟偵錯記錄以列印 CLI AWS SAM 產生的偵錯訊息，並顯示時間戳記。

`-h, --help`  
顯示此訊息並結束。

## 範例
<a name="ref-sam-cli-local-callback-heartbeat-examples"></a>

傳送活動訊號回呼：

```
$ sam local callback heartbeat my-callback-id
```

# sam local execution
<a name="sam-cli-command-reference-sam-local-execution"></a>

此頁面提供 AWS Serverless Application Model Command Line Interface (AWS SAM CLI) `sam local execution`命令的參考資訊。

如需 的簡介 AWS SAM CLI，請參閱 [什麼是 AWS SAM CLI？](what-is-sam-overview.md#what-is-sam-cli)

`sam local execution` 命令可讓您在開發和測試期間管理和檢查本機耐久函數執行。

**注意**  
這些命令可能不需要存取 AWS 登入資料。

## Usage
<a name="sam-cli-command-reference-sam-local-execution-usage"></a>

```
$ sam local execution <subcommand> <options>
```

## 選項
<a name="sam-cli-command-reference-sam-local-execution-options"></a>

`--help, -h`  <a name="sam-cli-command-reference-sam-local-execution-options-help"></a>
顯示此訊息並結束。

## 子命令
<a name="sam-cli-command-reference-sam-local-execution-subcommands"></a>

`get`  <a name="sam-cli-command-reference-sam-local-execution-subcommands-get"></a>
取得耐久函數執行的詳細資訊。如需詳細資訊，請參閱[sam local execution get](sam-cli-command-reference-sam-local-execution-get.md)。

`history`  <a name="sam-cli-command-reference-sam-local-execution-subcommands-history"></a>
取得持久函數執行的執行歷史記錄。如需詳細資訊，請參閱[sam local execution history](sam-cli-command-reference-sam-local-execution-history.md)。

`stop`  <a name="sam-cli-command-reference-sam-local-execution-subcommands-stop"></a>
停止耐用的函數執行。如需詳細資訊，請參閱[sam local execution stop](sam-cli-command-reference-sam-local-execution-stop.md)。

# sam local execution get
<a name="sam-cli-command-reference-sam-local-execution-get"></a>

擷取特定耐用函數執行的詳細資訊。

**注意**  
此命令可能不需要存取 AWS 登入資料。

## Usage
<a name="ref-sam-cli-local-execution-get-usage"></a>

```
$ sam local execution get DURABLE_EXECUTION_ARN [OPTIONS]
```

## 必要的引數
<a name="ref-sam-cli-local-execution-get-arguments"></a>

`DURABLE_EXECUTION_ARN`  
要擷取詳細資訊之耐久函數執行的 Amazon Resource Name (ARN)。

## 選項
<a name="ref-sam-cli-local-execution-get-options"></a>

`--format [summary|json]`  
輸出格式。預設：`summary`

`--region TEXT`  
設定服務的 AWS 區域 （例如 `us-east-1`)。

`--profile TEXT`  
從登入資料檔案選取特定設定檔以取得 AWS 登入資料。

`--config-env TEXT`  
在組態檔案中指定預設參數值的環境名稱。預設：`default`

`--config-file TEXT`  
包含預設參數值的組態檔案。預設：`samconfig.toml`

`--save-params`  
將透過命令列提供的參數儲存至組態檔案。

`--beta-features / --no-beta-features`  
啟用/停用 Beta 版功能。

`--debug`  
開啟偵錯記錄以列印 CLI AWS SAM 產生的偵錯訊息，並顯示時間戳記。

`-h, --help`  
顯示此訊息並結束。

## 範例
<a name="ref-sam-cli-local-execution-get-examples"></a>

取得預設摘要格式的執行詳細資訊：

```
$ sam local execution get arn:aws:lambda:us-east-1:123456789012:function:MyFunction:$LATEST/durable-execution/my-execution-name/my-execution-id
```

取得 JSON 格式的執行詳細資訊：

```
$ sam local execution get arn:aws:lambda:us-east-1:123456789012:function:MyFunction:$LATEST/durable-execution/my-execution-name/my-execution-id --format json
```

# sam local execution history
<a name="sam-cli-command-reference-sam-local-execution-history"></a>

取得持久函數執行的執行歷史記錄。

## Usage
<a name="ref-sam-cli-local-execution-history-usage"></a>

```
$ sam local execution history EXECUTION_ID [OPTIONS]
```

## 必要的引數
<a name="ref-sam-cli-local-execution-history-arguments"></a>

`EXECUTION_ID`  
要擷取歷史記錄之耐久函數執行的唯一識別符。

## 選項
<a name="ref-sam-cli-local-execution-history-options"></a>

`--format [table|json]`  
輸出格式。預設：`table`

`--region TEXT`  
設定服務的 AWS 區域 （例如 `us-east-1`)。

`--profile TEXT`  
從登入資料檔案選取特定設定檔以取得 AWS 登入資料。

`--config-env TEXT`  
在組態檔案中指定預設參數值的環境名稱。預設：`default`

`--config-file TEXT`  
包含預設參數值的組態檔案。預設：`samconfig.toml`

`--save-params`  
將透過命令列提供的參數儲存至組態檔案。

`--beta-features / --no-beta-features`  
啟用/停用 Beta 版功能。

`--debug`  
開啟偵錯記錄以列印 CLI AWS SAM 產生的偵錯訊息，並顯示時間戳記。

`-h, --help`  
顯示此訊息並結束。

## 範例
<a name="ref-sam-cli-local-execution-history-examples"></a>

取得資料表格式的執行歷史記錄：

```
$ sam local execution history my-execution-id
```

取得 JSON 格式的執行歷史記錄：

```
$ sam local execution history my-execution-id --format json
```

# sam local execution stop
<a name="sam-cli-command-reference-sam-local-execution-stop"></a>

停止執行中的耐用函數執行。

**注意**  
此命令可能不需要存取 AWS 登入資料。

## Usage
<a name="ref-sam-cli-local-execution-stop-usage"></a>

```
$ sam local execution stop DURABLE_EXECUTION_ARN [OPTIONS]
```

## 必要的引數
<a name="ref-sam-cli-local-execution-stop-arguments"></a>

`DURABLE_EXECUTION_ARN`  
要停止之耐久函數執行的 Amazon Resource Name (ARN)。

## 選項
<a name="ref-sam-cli-local-execution-stop-options"></a>

`--error-message TEXT`  
要與停止的執行建立關聯的錯誤訊息。

`--error-type TEXT`  
要與停止的執行建立關聯的錯誤類型。

`--error-data TEXT`  
要與停止的執行建立關聯的錯誤資料。

`--stack-trace TEXT`  
堆疊追蹤項目。此選項可指定多次。

`--region TEXT`  
設定服務的 AWS 區域 （例如 `us-east-1`)。

`--profile TEXT`  
從登入資料檔案選取特定設定檔以取得 AWS 登入資料。

`--config-env TEXT`  
在組態檔案中指定預設參數值的環境名稱。預設：`default`

`--config-file TEXT`  
包含預設參數值的組態檔案。預設：`samconfig.toml`

`--save-params`  
將透過命令列提供的參數儲存至組態檔案。

`--beta-features / --no-beta-features`  
啟用/停用 Beta 版功能。

`--debug`  
開啟偵錯記錄以列印 CLI AWS SAM 產生的偵錯訊息，並顯示時間戳記。

`-h, --help`  
顯示此訊息並結束。

## 範例
<a name="ref-sam-cli-local-execution-stop-examples"></a>

在沒有錯誤詳細資訊的情況下停止執行：

```
$ sam local execution stop arn:aws:lambda:us-east-1:123456789012:function:MyFunction:$LATEST/durable-execution/my-execution-name/my-execution-id
```

使用錯誤訊息和類型停止執行：

```
$ sam local execution stop arn:aws:lambda:us-east-1:123456789012:function:MyFunction:$LATEST/durable-execution/my-execution-name/my-execution-id --error-message "Execution cancelled" --error-type "UserCancellation"
```

使用完整錯誤詳細資訊和堆疊追蹤停止執行：

```
$ sam local execution stop arn:aws:lambda:us-east-1:123456789012:function:MyFunction:$LATEST/durable-execution/my-execution-name/my-execution-id --error-message "Task failed" --error-type "TaskFailure" --error-data '{"reason":"timeout"}' --stack-trace "at function1()" --stack-trace "at function2()"
```

# sam local generate-event
<a name="sam-cli-command-reference-sam-local-generate-event"></a>

此頁面提供 AWS Serverless Application Model 命令列界面 (AWS SAM CLI) `sam local generate-event`子命令的參考資訊。
+ 如需 的簡介 AWS SAM CLI，請參閱 [什麼是 AWS SAM CLI？](what-is-sam-overview.md#what-is-sam-cli)
+ 如需使用 AWS SAM CLI`sam local generate-event`命令的文件，請參閱 [使用 進行測試的簡介 sam local generate-event](using-sam-cli-local-generate-event.md)。

`sam local generate-event` 子命令會為支援的 產生事件承載範例 AWS 服務。

## Usage
<a name="ref-sam-cli-local-generate-event-usage"></a>

```
$ sam local generate-event <options> <service> <event> <event-options>
```

## 選項
<a name="ref-sam-cli-local-generate-event-options"></a>

`--config-env TEXT`  <a name="ref-sam-cli-local-generate-event-options-config-env"></a>
在要使用的組態檔案中指定預設參數值的環境名稱。預設值為「預設值」。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--config-file PATH`  <a name="ref-sam-cli-local-generate-event-options-config-file"></a>
組態檔案的路徑和檔案名稱，其中包含要使用的預設參數值。預設值位於專案目錄的根`samconfig.toml`目錄中。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--help`  <a name="ref-sam-cli-local-generate-event-options-help"></a>
顯示此訊息並結束。

## 服務
<a name="ref-sam-cli-local-generate-event-service"></a>

若要查看支援的 服務清單，請執行下列動作：

```
$ sam local generate-event
```

## 事件
<a name="ref-sam-cli-local-generate-event-event"></a>

若要查看可為每個服務產生的支援事件清單，請執行下列動作：

```
$ sam local generate-event <service>
```

## 事件選項
<a name="ref-sam-cli-local-generate-event-event-options"></a>

若要查看您可以修改的支援事件選項清單，請執行下列動作：

```
$ sam local generate-event <service> <event> --help
```

## 範例
<a name="sam-cli-command-reference-sam-local-generate-event-examples"></a>

如需使用 `sam local generate-event` 子命令的範例，請參閱 [產生範例事件](using-sam-cli-local-generate-event.md#using-sam-cli-local-generate-event-generate)。

# sam local invoke
<a name="sam-cli-command-reference-sam-local-invoke"></a>

此頁面提供 AWS Serverless Application Model 命令列界面 (AWS SAM CLI) `sam local invoke`子命令的參考資訊。
+ 如需 的簡介 AWS SAM CLI，請參閱 [什麼是 AWS SAM CLI？](what-is-sam-overview.md#what-is-sam-cli)
+ 如需使用 AWS SAM CLI `sam local invoke` 子命令的文件，請參閱 [使用 進行測試的簡介 sam local invoke](using-sam-cli-local-invoke.md)。

`sam local invoke` 子命令會在本機啟動 AWS Lambda 函數的一次性調用。

**注意**  
不建議在不受信任的程式碼中使用 SAM CLI 的本機調用功能。若要與本機環境完全隔離，請直接在 Lambda 服務中執行程式碼。

**注意**  
對於耐用的函數， `sam local invoke`支援使用自動檢查點和重播的狀態執行。容器會在持久的函數執行期間保持執行，以處理狀態持久性和恢復。

## Usage
<a name="ref-sam-cli-local-invoke-usage"></a>

```
$ sam local invoke <arguments> <options>
```

**注意**  
如果您在 AWS SAM 範本中定義了多個函數，請提供您要叫用的函數邏輯 ID。

## 引數
<a name="ref-sam-cli-local-invoke-args"></a>

**Resource ID (資源 ID)**  <a name="ref-sam-cli-local-invoke-args-resource-id"></a>
要叫用的 Lambda 函數 ID。  
此為選用引數。如果您的應用程式包含單一 Lambda 函數，CLI AWS SAM 會叫用它。如果您的應用程式包含多個函數，請提供要叫用的函數 ID。  
*有效值*：資源的邏輯 ID 或資源 ARN。

## 選項
<a name="ref-sam-cli-local-invoke-options"></a>

`--add-host LIST`  <a name="ref-sam-cli-local-invoke-options-add-host"></a>
將主機名稱傳遞至 Docker 容器主機檔案的 IP 地址映射。此參數可以多次傳遞。  

**Example**  
範例：`--add-host example.com:127.0.0.1`

`--beta-features | --no-beta-features`  <a name="ref-sam-cli-local-invoke-options-beta-features"></a>
允許或拒絕 Beta 版功能。

`--config-env TEXT`  <a name="ref-sam-cli-local-invoke-options-config-env"></a>
在要使用的組態檔案中指定預設參數值的環境名稱。預設值為「預設值」。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--config-file PATH`  <a name="ref-sam-cli-local-invoke-options-config-file"></a>
組態檔案的路徑和檔案名稱，其中包含要使用的預設參數值。專案目錄根目錄中的預設值為「`samconfig.toml`」。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--container-env-vars`  <a name="ref-sam-cli-local-invoke-options-container-env-vars"></a>
（選用） 在本機偵錯時，將環境變數傳遞至 Lambda 函數映像容器。

`--container-host TEXT`  <a name="ref-sam-cli-local-invoke-options-container-host"></a>
本機模擬 Lambda 容器的主機。預設值為 `localhost`。如果您想要在 macOS 的 Docker 容器中執行 AWS SAM CLI ，您可以指定 `host.docker.internal`。如果您想要在與 不同的主機上執行容器 AWS SAM CLI，您可以指定遠端主機的 IP 地址。

`--container-host-interface TEXT`  <a name="ref-sam-cli-local-invoke-options-container-host-interface"></a>
容器連接埠應繫結之主機網路介面的 IP 地址。預設值為 `127.0.0.1`。使用 `0.0.0.0` 繫結至所有介面。

`--debug`  <a name="ref-sam-cli-local-invoke-options-debug"></a>
開啟偵錯記錄以列印 產生的偵錯訊息 AWS SAM CLI，並顯示時間戳記。

`--debug-args TEXT`  <a name="ref-sam-cli-local-invoke-options-debug-args"></a>
要傳遞給偵錯工具的其他引數。

`--debug-port, -d TEXT`  <a name="ref-sam-cli-local-invoke-options-debug-port"></a>
指定時， 會以偵錯模式啟動 Lambda 函數容器，並在本機主機上公開此連接埠。

`--debugger-path TEXT`  <a name="ref-sam-cli-local-invoke-options-debugger-path"></a>
掛載至 Lambda 容器之偵錯工具的主機路徑。

`--docker-network TEXT`  <a name="ref-sam-cli-local-invoke-options-docker-network"></a>
Lambda Docker 容器應連線的現有 Docker 網路的名稱或 ID，以及預設橋接網路。如果未指定，Lambda 容器只會連線到預設橋接器 Docker 網路。

`--docker-volume-basedir, -v TEXT`  <a name="ref-sam-cli-local-invoke-options-docker-volume-basedir"></a>
 AWS SAM 檔案存在的基礎目錄位置。如果 Docker 在遠端機器上執行，您必須掛載 AWS SAM Docker 機器上檔案所在的路徑，並修改此值以符合遠端機器。

`--durable-execution-name TEXT`  <a name="ref-sam-cli-local-invoke-options-durable-execution-name"></a>
持久性執行的名稱 （僅適用於持久性函數）

`--env-vars, -n PATH`  <a name="ref-sam-cli-local-invoke-options-env-vars"></a>
包含 Lambda 函數環境變數值的 JSON 或 `.env` 檔案。系統會自動偵測檔案格式。如需環境變數檔案的詳細資訊，請參閱 [環境變數檔案](serverless-sam-cli-using-invoke.md#serverless-sam-cli-using-invoke-environment-file)。

`--event, -e PATH`  <a name="ref-sam-cli-local-invoke-options-event"></a>
包含事件資料的 JSON 檔案，會在叫用時傳遞至 Lambda 函數。如果您未指定此選項，則不會假設任何事件。若要從 輸入 JSON`stdin`，您必須傳入值 '-'。如需不同 AWS 服務的事件訊息格式詳細資訊，請參閱《 *AWS Lambda 開發人員指南*》中的[使用其他 服務](https://docs.aws.amazon.com/lambda/latest/dg/lambda-services.html)。

`--force-image-build`  <a name="ref-sam-cli-local-invoke-options-force-image-build"></a>
指定 AWS SAM CLI是否應重建用於使用 layer 叫用 Lambda 函數的映像。

`--help`  <a name="ref-sam-cli-local-invoke-options-help"></a>
顯示此訊息並結束。

`--hook-name TEXT`  <a name="ref-sam-cli-local-invoke-options-hook-name"></a>
用於擴展 AWS SAM CLI功能的勾點名稱。  
接受的值：`terraform`。

`--invoke-image TEXT`  <a name="ref-sam-cli-local-invoke-options-invoke-image"></a>
您要用於本機函數調用之容器映像的 URI。根據預設， 會從 Amazon ECR Public AWS SAM 提取容器映像 （列於 )[的影像儲存庫 AWS SAM](serverless-image-repositories.md)。使用此選項從另一個位置提取映像。  
例如 `sam local invoke MyFunction --invoke-image amazon/aws-sam-cli-emulation-image-python3.8`。

`--layer-cache-basedir DIRECTORY`  <a name="ref-sam-cli-local-invoke-options-layer-cache-basedir"></a>
指定下載範本所用層的基礎目錄位置。

`--log-file, -l TEXT`  <a name="ref-sam-cli-local-invoke-options-log-file"></a>
要傳送執行期日誌的日誌檔案。

`--mount-symlinks`  <a name="ref-sam-cli-local-invoke-options-mount-symlinks"></a>
確保 AWS SAM CLI 一律掛載檔案中存在的符號連結，以建置或叫用。這僅適用於頂層目錄上的符號連結 （也就是直接在函數根目錄上的符號連結）。根據預設，符號連結不會掛載，除了在 NodeJS `node_modules`中使用 `build-in-source` 時需要的符號連結。

`--no-event`  <a name="ref-sam-cli-local-invoke-options-no-event"></a>
使用空白事件叫用 函數。

`--no-memory-limit`  <a name="ref-sam-cli-local-invoke-options-no-memory-limit"></a>
在本機調用期間移除容器中的記憶體限制，即使 AWS SAM 範本中已設定記憶體也一樣。

`--parameter-overrides`  <a name="ref-sam-cli-local-invoke-options-parameter-overrides"></a>
包含 CloudFormation 參數的字串會覆寫編碼為鍵值對的字串。使用與 AWS Command Line Interface () 相同的格式AWS CLI。格式 AWS SAM CLI是明確的索引鍵和值關鍵字，每個覆寫都會以空格分隔。以下是兩個範例：  
+ `--parameter-overrides ParameterKey=hello,ParameterValue=world`
+ `--parameter-overrides ParameterKey=hello,ParameterValue=world ParameterKey=example1,ParameterValue=example2 ParameterKey=apple,ParameterValue=banana`

`--profile TEXT`  <a name="ref-sam-cli-local-invoke-options-profile"></a>
從您的登入資料檔案中取得 AWS 登入資料的特定設定檔。

`--region TEXT`  <a name="ref-sam-cli-local-invoke-options-region"></a>
 AWS 要部署的區域。例如 us-east-1。

`--runtime TEXT`  <a name="ref-sam-cli-local-invoke-options-runtime"></a>
使用指定的執行時間在本機叫用 Lambda 函數。這會覆寫 `template.yml` 檔案中定義的執行時間。這也允許使用不同的執行時間測試 Lambda 函數，而無需修改原始函數組態。

`--save-params`  <a name="ref-sam-cli-local-invoke-options-save-params"></a>
將您在命令列提供的參數儲存至 AWS SAM 組態檔案。

`--shutdown`  <a name="ref-sam-cli-local-invoke-options-shutdown"></a>
在調用完成後模擬關機事件，以測試關機行為的延伸處理。

`--skip-prepare-infra`  <a name="ref-sam-cli-local-invoke-options-skip-prepare-infra"></a>
如果未進行任何基礎設施變更，請略過準備階段。使用 搭配 `--hook-name`選項。

`--skip-pull-image`  <a name="ref-sam-cli-local-invoke-options-skip-pull-image"></a>
根據預設， 會 AWS SAM CLI檢查 Lambda 最新的遠端執行期環境，並自動更新本機映像以保持同步。  
指定此選項可略過提取 Lambda 執行時間環境的最新Docker映像。

`--template, -t PATH`  <a name="ref-sam-cli-local-invoke-options-template"></a>
 AWS SAM 範本檔案。  
此選項與 不相容`--hook-name`。  
如果您指定此選項， 只會 AWS SAM 載入範本及其指向的本機資源。

`--tenant-id TEXT`  <a name="ref-sam-cli-local-invoke-options-tenancyconfig"></a>
多租用戶 Lambda 函數的租用戶 ID。用來確保不同租用戶之間的運算隔離。叫用使用租戶隔離模式設定的函數時為必要。

`--terraform-plan-file`  <a name="ref-sam-cli-local-invoke-options-terraform-plan-file"></a>
搭配 使用 時，本機Terraform計劃檔案的 AWS SAM CLI相對或絕對路徑Terraform Cloud。此選項需要`--hook-name`將 設定為 `terraform`。

## 範例
<a name="sam-cli-command-reference-sam-local-invoke-examples"></a>

下列範例使用產生的事件進行本機測試，方法是使用`s3.json`事件在本機叫用 Lambda 函數

```
$ sam local invoke --event events/s3.json S3JsonLoggerFunction
```

下列範例` HelloWorldFunction`使用 Python 3.11 執行時間測試函數

```
$ sam local invoke --runtime python3.11 HelloWorldFunction
```

下列範例會測試` HelloWorldFunction`具有耐久執行名稱的函數

```
$ sam local invoke HelloWorldFunction --durable-execution-name my-execution
```

# sam local start-api
<a name="sam-cli-command-reference-sam-local-start-api"></a>

此頁面提供 AWS Serverless Application Model 命令列界面 (AWS SAM CLI) `sam local start-api`子命令的參考資訊。
+ 如需 的簡介 AWS SAM CLI，請參閱 [什麼是 AWS SAM CLI？](what-is-sam-overview.md#what-is-sam-cli)
+ 如需使用 AWS SAM CLI `sam local start-api` 子命令的文件，請參閱 [使用 進行測試的簡介 sam local start-api](using-sam-cli-local-start-api.md)。

`sam local start-api` 子命令 AWS Lambda 會在本機執行函數，以透過本機 HTTP 伺服器主機進行測試。

## Usage
<a name="ref-sam-cli-local-start-api-usage"></a>

```
$ sam local start-api <options>
```

## 選項
<a name="ref-sam-cli-local-start-api-options"></a>

`--add-host LIST`  <a name="ref-sam-cli-local-start-api-options-add-host"></a>
將主機名稱傳遞至 Docker 容器主機檔案的 IP 地址映射。此參數可以多次傳遞。  

**Example**  
範例：`--add-host example.com:127.0.0.1`

`--beta-features | --no-beta-features`  <a name="ref-sam-cli-local-start-api-options-beta-features"></a>
允許或拒絕 Beta 版功能。

`--config-env TEXT`  <a name="ref-sam-cli-local-start-api-options-config-env"></a>
在要使用的組態檔案中指定預設參數值的環境名稱。預設值為「預設值」。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--config-file PATH`  <a name="ref-sam-cli-local-start-api-options-config-file"></a>
組態檔案的路徑和檔案名稱，其中包含要使用的預設參數值。預設值為專案目錄根目錄中的「samconfig.toml」。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--container-env-vars`  <a name="ref-sam-cli-local-start-api-options-container-env-vars"></a>
選用。在本機偵錯時，將環境變數傳遞至映像容器。

`--container-host TEXT`  <a name="ref-sam-cli-local-start-api-options-container-host"></a>
本機模擬 Lambda 容器的主機。預設值為 `localhost`。如果您想要在 macOS 的 Docker 容器中執行 AWS SAM CLI ，您可以指定 `host.docker.internal`。如果您想要在與 不同的主機上執行容器 AWS SAM CLI，您可以指定遠端主機的 IP 地址。

`--container-host-interface TEXT`  <a name="ref-sam-cli-local-start-api-options-container-host-interface"></a>
容器連接埠應繫結之主機網路介面的 IP 地址。預設值為 `127.0.0.1`。使用 `0.0.0.0` 繫結至所有介面。

`--debug`  <a name="ref-sam-cli-local-start-api-options-debug"></a>
開啟偵錯記錄以列印 AWS SAM CLI產生的偵錯訊息，並顯示時間戳記。

`--debug-args TEXT`  <a name="ref-sam-cli-local-start-api-options-debug-args"></a>
要傳遞給偵錯工具的其他引數。

`--debug-function`  <a name="ref-sam-cli-local-start-api-options-debug-function"></a>
選用。指定指定 時要套用偵錯選項的 Lambda `--warm-containers` 函數。此參數適用於 `--debug-port`、 `--debugger-path`和 `--debug-args`。

`--debug-port, -d TEXT`  <a name="ref-sam-cli-local-start-api-options-debug-port"></a>
指定時， 會以偵錯模式啟動 Lambda 函數容器，並在本機主機上公開此連接埠。

`--debugger-path TEXT`  <a name="ref-sam-cli-local-start-api-options-debugger-path"></a>
要掛載到 Lambda 容器的偵錯工具的主機路徑。

`--docker-network TEXT`  <a name="ref-sam-cli-local-start-api-options-docker-network"></a>
Lambda Docker 容器應連線的現有 Docker 網路的名稱或 ID，以及預設橋接網路。如果未指定，Lambda 容器只會連線到預設橋接器 Docker 網路。

` --docker-volume-basedir, -v TEXT`  <a name="ref-sam-cli-local-start-api-options-docker-volume-basedir"></a>
 AWS SAM 檔案存在的基礎目錄位置。如果 Docker 在遠端機器上執行，您必須掛載 AWS SAM Docker 機器上檔案所在的路徑，並修改此值以符合遠端機器。

`--env-vars, -n PATH`  <a name="ref-sam-cli-local-start-api-options-env-vars"></a>
包含 Lambda 函數環境變數值的 JSON 或 `.env` 檔案。系統會自動偵測檔案格式。

`--force-image-build`  <a name="ref-sam-cli-local-start-api-options-force-image-build"></a>
指定 是否 AWS SAM CLI應重建用於使用 layer 叫用函數的映像。

`--help`  <a name="ref-sam-cli-local-start-api-options-help"></a>
顯示此訊息並結束。

`--hook-name TEXT`  <a name="ref-sam-cli-local-start-api-options-hook-name"></a>
用於擴展 AWS SAM CLI功能的勾點名稱。  
接受的值：`terraform`。

`--host TEXT`  <a name="ref-sam-cli-local-start-api-options-host"></a>
要繫結的本機主機名稱或 IP 地址 （預設：'127.0.0.1')。

`--invoke-image TEXT`  <a name="ref-sam-cli-local-start-api-options-invoke-image"></a>
您要用於 Lambda 函數之容器映像的 URI。根據預設， 會從 Amazon ECR Public AWS SAM 提取容器映像。使用此選項從另一個位置提取映像。  
您可以多次指定此選項。此選項的每個執行個體都可以採用字串或鍵值對。如果您指定字串，它是用於應用程式中所有函數的容器映像的 URI。例如 `sam local start-api --invoke-image public.ecr.aws/sam/emu-python3.8`。如果您指定金鑰/值對，則金鑰為資源名稱，而值為容器映像的 URI，以用於該資源。例如 `sam local start-api --invoke-image public.ecr.aws/sam/emu-python3.8 --invoke-image Function1=amazon/aws-sam-cli-emulation-image-python3.8 `。使用鍵/值對，您可以為不同的資源指定不同的容器映像。

`--layer-cache-basedir DIRECTORY`  <a name="ref-sam-cli-local-start-api-options-layer-cache-basedir"></a>
指定下載範本所用 Layers 的位置基礎。

`--log-file, -l TEXT`  <a name="ref-sam-cli-local-start-api-options-log-file"></a>
要傳送執行期日誌的日誌檔案。

`--no-memory-limit`  <a name="ref-sam-cli-local-start-api-options-no-memory-limit"></a>
在本機調用期間移除容器中的記憶體限制，即使 AWS SAM 範本中已設定記憶體也一樣。

`--parameter-overrides`  <a name="ref-sam-cli-local-start-api-options-parameter-overrides"></a>
包含 CloudFormation 參數的字串會覆寫編碼為鍵值對的字串。使用與 AWS Command Line Interface () 相同的格式AWS CLI。格式 AWS SAM CLI是明確的索引鍵和值關鍵字，每個覆寫都會以空格分隔。以下是兩個範例：  
+ `--parameter-overrides ParameterKey=hello,ParameterValue=world`
+ `--parameter-overrides ParameterKey=hello,ParameterValue=world ParameterKey=example1,ParameterValue=example2 ParameterKey=apple,ParameterValue=banana`

`--port, -p INTEGER`  <a name="ref-sam-cli-local-start-api-options-port"></a>
要接聽的本機連接埠號碼 （預設值：'3000')。

`--profile TEXT`  <a name="ref-sam-cli-local-start-api-options-profile"></a>
從您的登入資料檔案中取得 AWS 登入資料的特定設定檔。

`--region TEXT`  <a name="ref-sam-cli-local-start-api-options-region"></a>
 AWS 要部署的區域。例如 us-east-1。

`--save-params`  <a name="ref-sam-cli-local-start-api-options-save-params"></a>
將您在命令列提供的參數儲存至 AWS SAM 組態檔案。

`--shutdown`  <a name="ref-sam-cli-local-start-api-options-shutdown"></a>
在調用完成後模擬關機事件，以測試關機行為的延伸處理。

`--skip-prepare-infra`  <a name="ref-sam-cli-local-start-api-options-skip-prepare-infra"></a>
如果未進行任何基礎設施變更，請略過準備階段。使用 搭配 `--hook-name`選項。

`--skip-pull-image`  <a name="ref-sam-cli-local-start-api-options-skip-pull-image"></a>
指定 CLI 是否應該略過提取 Lambda 執行時間的最新 Docker 映像。

`--ssl-cert-file PATH`  <a name="ref-sam-cli-local-start-api-options-ssl-cert-file"></a>
SSL 憑證檔案的路徑 （預設值：無）。使用此選項時，也必須使用 `--ssl-key-file`選項。

`--ssl-key-file PATH`  <a name="ref-sam-cli-local-start-api-options-static-dir"></a>
SSL 金鑰檔案的路徑 （預設：無）。使用此選項時，也必須使用 `--ssl-cert-file`選項。

`--static-dir, -s TEXT`  <a name="ref-sam-cli-local-start-api-options-static-dir"></a>
位於此目錄中的任何靜態資產 （例如 CSS/JavaScript/HTML) 檔案會顯示在 `/`。

`--template, -t PATH`  <a name="ref-sam-cli-local-start-api-options-template"></a>
 AWS SAM 範本檔案。  
如果您指定此選項， 只會 AWS SAM 載入範本及其指向的本機資源。

`--terraform-plan-file`  <a name="ref-sam-cli-local-start-api-options-terraform-plan-file"></a>
搭配 使用 時，本機Terraform計劃檔案的 AWS SAM CLI相對或絕對路徑Terraform Cloud。此選項需要`--hook-name`將 設定為 `terraform`。

`--warm-containers [EAGER | LAZY]`  <a name="ref-sam-cli-local-start-api-options-warm-containers"></a>
選用。指定 如何 AWS SAM CLI管理每個函數的容器。  
有兩個可用選項：  
   `EAGER`：所有函數的容器會在啟動時載入，並在叫用之間保留。  
   `LAZY`：只有在第一次叫用每個 函數時，才會載入容器。這些容器會持續進行其他調用。

## 範例
<a name="sam-cli-command-reference-sam-local-start-api-examples"></a>

下列範例會啟動本機伺服器，讓您透過 API 測試應用程式。若要讓此命令運作，必須安裝應用程式，且 Docker 必須正在執行。

```
$ sam local start-api --port 3000
```

# sam local start-lambda
<a name="sam-cli-command-reference-sam-local-start-lambda"></a>

此頁面提供 AWS Serverless Application Model 命令列界面 (AWS SAM CLI) `sam local start-lambda`子命令的參考資訊。
+ 如需 的簡介 AWS SAM CLI，請參閱 [什麼是 AWS SAM CLI？](what-is-sam-overview.md#what-is-sam-cli)
+ 如需使用 AWS SAM CLI `sam local start-lambda` 子命令的文件，請參閱 [使用 進行測試的簡介 sam local start-lambda](using-sam-cli-local-start-lambda.md)。

`sam local start-lambda` 子命令會啟動要模擬的本機端點 AWS Lambda。

## Usage
<a name="ref-sam-cli-local-start-lambda-usage"></a>

```
$ sam local start-lambda <options>
```

## 選項
<a name="ref-sam-cli-local-start-lambda-options"></a>

`--add-host LIST`  <a name="ref-sam-cli-local-start-lambda-options-add-host"></a>
將主機名稱傳遞至 Docker 容器主機檔案的 IP 地址映射。此參數可以多次傳遞。  

**Example**  
範例：`--add-host example.com:127.0.0.1`

`--beta-features | --no-beta-features`  <a name="ref-sam-cli-local-start-lambda-options-beta-features"></a>
允許或拒絕 Beta 版功能。

`--config-env TEXT`  <a name="ref-sam-cli-local-start-lambda-options-config-env"></a>
在要使用的組態檔案中指定預設參數值的環境名稱。預設值為「預設值」。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--config-file PATH`  <a name="ref-sam-cli-local-start-lambda-options-config-file"></a>
組態檔案的路徑和檔案名稱，其中包含要使用的預設參數值。預設值為專案目錄根目錄中的「samconfig.toml」。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--container-env-vars`  <a name="ref-sam-cli-local-start-lambda-options-container-env-vars"></a>
選用。在本機偵錯時，將環境變數傳遞至映像容器。

`--container-host TEXT`  <a name="ref-sam-cli-local-start-lambda-options-container-host"></a>
本機模擬 Lambda 容器的主機。預設值為 `localhost`。如果您想要在 macOS 的 Docker 容器中執行 AWS SAM CLI ，您可以指定 `host.docker.internal`。如果您想要在與 不同的主機上執行容器 AWS SAM CLI，您可以指定遠端主機的 IP 地址。

`--container-host-interface TEXT`  <a name="ref-sam-cli-local-start-lambda-options-container-host-interface"></a>
容器連接埠應繫結之主機網路介面的 IP 地址。預設值為 `127.0.0.1`。使用 `0.0.0.0` 繫結至所有介面。

`--debug`  <a name="ref-sam-cli-local-start-lambda-options-debug"></a>
開啟偵錯記錄以列印 AWS SAM CLI產生的偵錯訊息，並顯示時間戳記。

`--debug-args TEXT`  <a name="ref-sam-cli-local-start-lambda-options-debug-args"></a>
要傳遞給偵錯工具的其他引數。

`--debug-function`  <a name="ref-sam-cli-local-start-lambda-options-debug-function"></a>
選用。指定指定 時要套用偵錯選項的 Lambda `--warm-containers` 函數。此參數適用於 `--debug-port`、 `--debugger-path`和 `--debug-args`。

`--debug-port, -d TEXT`  <a name="ref-sam-cli-local-start-lambda-options-debug-port"></a>
指定時， 會以偵錯模式啟動 Lambda 函數容器，並在本機主機上公開此連接埠。

`--debugger-path TEXT`  <a name="ref-sam-cli-local-start-lambda-options-debugger-path"></a>
要掛載至 Lambda 容器之偵錯工具的主機路徑。

`--docker-network TEXT`  <a name="ref-sam-cli-local-start-lambda-options-docker-network"></a>
Lambda Docker 容器應連線的現有 Docker 網路的名稱或 ID，以及預設橋接網路。如果指定此選項，Lambda 容器只會連線到預設橋接器 Docker 網路。

`--docker-volume-basedir, -v TEXT`  <a name="ref-sam-cli-local-start-lambda-options-docker-volume-basedir"></a>
 AWS SAM 檔案存在的基礎目錄位置。如果 Docker 在遠端機器上執行，您必須掛載 AWS SAM Docker 機器上檔案所在的路徑，並修改此值以符合遠端機器。

`--env-vars, -n PATH`  <a name="ref-sam-cli-local-start-lambda-options-env-vars"></a>
包含 Lambda 函數環境變數值的 JSON 或 `.env` 檔案。系統會自動偵測檔案格式。

`--force-image-build`  <a name="ref-sam-cli-local-start-lambda-options-force-image-build"></a>
指定 是否CLI應重建用於使用 layer 叫用函數的映像。

`--help`  <a name="ref-sam-cli-local-start-lambda-options-help"></a>
顯示此訊息並結束。

`--hook-name TEXT`  <a name="ref-sam-cli-local-start-lambda-options-hook-name"></a>
用於擴展 AWS SAM CLI功能的勾點名稱。  
接受的值：`terraform`。

`--host TEXT`  <a name="ref-sam-cli-local-start-lambda-options-host"></a>
要繫結的本機主機名稱或 IP 地址 （預設：'127.0.0.1')。

`--invoke-image TEXT`  <a name="ref-sam-cli-local-start-lambda-options-invoke-image"></a>
您要用於本機函數調用之容器映像的 URI。根據預設， 會從 Amazon ECR Public AWS SAM 提取容器映像。使用此選項從另一個位置提取映像。  
例如 `sam local start-lambda MyFunction --invoke-image amazon/aws-sam-cli-emulation-image-python3.8`。

`--layer-cache-basedir DIRECTORY`  <a name="ref-sam-cli-local-start-lambda-options-layer-cache-basedir"></a>
指定下載範本所用圖層的位置基數。

`--log-file, -l TEXT`  <a name="ref-sam-cli-local-start-lambda-options-log-file"></a>
要傳送執行期日誌的日誌檔案。

`--no-memory-limit`  <a name="ref-sam-cli-local-start-lambda-options-no-memory-limit"></a>
在本機調用期間移除容器中的記憶體限制，即使 AWS SAM 範本中已設定記憶體也一樣。

`--parameter-overrides`  <a name="ref-sam-cli-local-start-lambda-options-parameter-overrides"></a>
包含 CloudFormation 參數的字串會覆寫編碼為鍵值對的字串。使用與 AWS Command Line Interface () 相同的格式AWS CLI。格式 AWS SAM CLI是明確的索引鍵和值關鍵字，每個覆寫都會以空格分隔。以下是兩個範例：  
+ `--parameter-overrides ParameterKey=hello,ParameterValue=world`
+ `--parameter-overrides ParameterKey=hello,ParameterValue=world ParameterKey=example1,ParameterValue=example2 ParameterKey=apple,ParameterValue=banana`

`--port, -p INTEGER`  <a name="ref-sam-cli-local-start-lambda-options-port"></a>
要接聽的本機連接埠號碼 （預設值：'3001')。

`--profile TEXT`  <a name="ref-sam-cli-local-start-lambda-options-profile"></a>
從您的登入資料檔案中取得 AWS 登入資料的特定設定檔。

`--region TEXT`  <a name="ref-sam-cli-local-start-lambda-options-region"></a>
 AWS 要部署的區域。例如 us-east-1。

`--save-params`  <a name="ref-sam-cli-local-start-lambda-options-save-params"></a>
將您在命令列提供的參數儲存至 AWS SAM 組態檔案。

`--shutdown`  <a name="ref-sam-cli-local-start-lambda-options-shutdown"></a>
在調用完成後模擬關機事件，以測試關機行為的延伸處理。

`--skip-prepare-infra`  <a name="ref-sam-cli-local-start-lambda-options-skip-prepare-infra"></a>
如果未進行任何基礎設施變更，請略過準備階段。使用 搭配 `--hook-name`選項。

`--skip-pull-image`  <a name="ref-sam-cli-local-start-lambda-options-skip-pull-image"></a>
指定 是否CLI應該略過提取 Lambda 執行時間的最新 Docker 映像。

`--template, -t PATH`  <a name="ref-sam-cli-local-start-lambda-options-template"></a>
 AWS SAM 範本檔案。  
如果您指定此選項， 只會 AWS SAM 載入範本及其指向的本機資源。此選項與 不相容`--hook-name`。

`--terraform-plan-file`  <a name="ref-sam-cli-local-start-lambda-options-terraform-plan-file"></a>
搭配 使用 時，本機Terraform計劃檔案的 AWS SAM CLI相對或絕對路徑Terraform Cloud。此選項需要`--hook-name`將 設定為 `terraform`。

`--warm-containers [EAGER | LAZY]`  <a name="ref-sam-cli-local-start-lambda-options-warm-containers"></a>
選用。指定 如何 AWS SAM CLI管理每個函數的容器。  
有兩個可用選項：  
+ `EAGER`：所有函數的容器會在啟動時載入，並在叫用之間保留。
+ `LAZY`：只有在第一次叫用每個 函數時，才會載入容器。這些容器會持續進行其他調用。

## 範例
<a name="sam-cli-command-reference-sam-local-start-lambda-examples"></a>

如需使用 `sam local start-lambda` 子命令的詳細範例和深入演練，請參閱 [使用 進行測試的簡介 sam local start-lambda](using-sam-cli-local-start-lambda.md)。

# sam logs
<a name="sam-cli-command-reference-sam-logs"></a>

此頁面提供 AWS Serverless Application Model Command Line Interface (AWS SAM CLI) `sam logs`命令的參考資訊。

如需 的簡介 AWS SAM CLI，請參閱 [什麼是 AWS SAM CLI？](what-is-sam-overview.md#what-is-sam-cli)

`sam logs` 命令會擷取 AWS Lambda 函數產生的日誌。

## Usage
<a name="sam-cli-command-reference-sam-logs-usage"></a>

```
$ sam logs <options>
```

## 選項
<a name="sam-cli-command-reference-sam-logs-options"></a>

`--config-env TEXT`  <a name="sam-cli-command-reference-sam-logs-options-config-env"></a>
在要使用的組態檔案中指定預設參數值的環境名稱。預設值為「預設值」。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--config-file PATH`  <a name="sam-cli-command-reference-sam-logs-options-config-file"></a>
組態檔案的路徑和檔案名稱，其中包含要使用的預設參數值。預設值為專案目錄根目錄中的 "samconfig.toml"。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--cw-log-group LIST`  <a name="sam-cli-command-reference-sam-logs-options-cw-log-group"></a>
包含您指定之 CloudWatch Logs 日誌群組的日誌。如果您指定此選項與 ，除了來自具名資源的日誌之外`name`， 還 AWS SAM 包含來自指定日誌群組的日誌。

`--debug`  <a name="sam-cli-command-reference-sam-logs-options-debug"></a>
開啟偵錯記錄以列印 AWS SAM CLI產生的偵錯訊息，並顯示時間戳記。

`---end-time, e TEXT`  <a name="sam-cli-command-reference-sam-logs-options-end-time"></a>
擷取截至目前為止的日誌。時間可以是「5 分鐘前」、「明天」等相對值，或「2018-01-01 10：10：10」等格式化時間戳記。

`--filter TEXT`  <a name="sam-cli-command-reference-sam-logs-options-filter"></a>
可讓您指定表達式，以快速尋找符合日誌事件中詞彙、片語或值的日誌。這可以是簡單的關鍵字 （例如「錯誤」) 或 Amazon CloudWatch Logs 支援的模式。如需語法，請參閱 [Amazon CloudWatch Logs 文件](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html)。

`--help`  <a name="sam-cli-command-reference-sam-logs-options-help"></a>
顯示此訊息並結束。

`--include-traces`  <a name="sam-cli-command-reference-sam-logs-options-include-traces"></a>
在日誌輸出中包含 X-Ray 追蹤。

`--name, -n TEXT`  <a name="sam-cli-command-reference-sam-logs-options-name"></a>
要擷取日誌的資源名稱。如果此資源是 CloudFormation 堆疊的一部分，這可以是 CloudFormation/AWS SAM template 中函數資源的邏輯 ID。您可以再次重複 參數來提供多個名稱。如果資源位於巢狀堆疊中，則可以在巢狀堆疊名稱前面加上名稱，以從該資源提取日誌 (NestedStackLogicalId/ResourceLogicalId)。如果未提供資源名稱，則會掃描指定的堆疊，並提取所有支援資源的日誌資訊。如果您未指定此選項， 會為您指定的堆疊中的所有資源 AWS SAM 擷取日誌。支援下列資源類型：  
+ `AWS::Serverless::Function`
+ `AWS::Lambda::Function`
+ `AWS::Serverless::Api`
+ `AWS::ApiGateway::RestApi`
+ `AWS::Serverless::HttpApi`
+ `AWS::ApiGatewayV2::Api`
+ `AWS::Serverless::StateMachine`
+ `AWS::StepFunctions::StateMachine`

`--output TEXT`  <a name="sam-cli-command-reference-sam-logs-options-output"></a>
指定日誌的輸出格式。若要列印格式化日誌，請指定 `text`。若要將日誌列印為 JSON，請指定 `json`。

`--profile TEXT`  <a name="sam-cli-command-reference-sam-logs-options-profile"></a>
從您的登入資料檔案中取得 AWS 登入資料的特定設定檔。

`--region TEXT`  <a name="sam-cli-command-reference-sam-logs-options-region"></a>
 AWS 要部署的區域。例如 us-east-1。

`--save-params`  <a name="sam-cli-command-reference-sam-logs-options-save-params"></a>
將您在命令列提供的參數儲存至 AWS SAM 組態檔案。

`--stack-name TEXT`  <a name="sam-cli-command-reference-sam-logs-options-stack-name"></a>
資源所屬的 CloudFormation 堆疊名稱。

`--start-time, -s TEXT`  <a name="sam-cli-command-reference-sam-logs-options-start-time"></a>
擷取此時開始的日誌。時間可以是「5 分鐘前」、「昨天」等相對值，或是「2018-01-01 10：10：10」等格式化時間戳記。預設為 '10 分鐘前'。

` --tail, -t`  <a name="sam-cli-command-reference-sam-logs-options-tail"></a>
尾隨日誌輸出。這會忽略結束時間引數，並在日誌可用時繼續擷取日誌。

## 範例
<a name="sam-cli-command-reference-sam-logs-examples"></a>

當您的函數是 CloudFormation 堆疊的一部分時，您可以在指定堆疊名稱時使用函數的邏輯 ID 來擷取日誌。

```
$ sam logs -n HelloWorldFunction --stack-name myStack
```

使用 -s (--start-time) 和 -e (--end-time) 選項檢視特定時間範圍的日誌。

```
$ sam logs -n HelloWorldFunction --stack-name myStack -s '10min ago' -e '2min ago'
```

您也可以新增 `--tail`選項來等待新的日誌，並在它們送達時看到它們。

```
$ sam logs -n HelloWorldFunction --stack-name myStack --tail
```

使用 `--filter`選項快速尋找符合日誌事件中詞彙、片語或值的日誌。

```
$ sam logs -n HelloWorldFunction --stack-name myStack --filter "error"
```

檢視子堆疊中資源的日誌。

```
$ sam logs --stack-name myStack -n childStack/HelloWorldFunction
```

您應用程式中所有支援資源的自訂日誌。

```
$ sam logs --stack-name sam-app --tail
```

擷取應用程式中特定 Lambda 函數和 API Gateway API 的日誌。

```
$ sam logs --stack-name sam-app --name HelloWorldFunction --name HelloWorldRestApi
```

擷取應用程式中所有支援資源的日誌，以及從指定的日誌群組另外擷取。

```
$ sam logs --cw-log-group /aws/lambda/myfunction-123 --cw-log-group /aws/lambda/myfunction-456
```

# sam package
<a name="sam-cli-command-reference-sam-package"></a>

 AWS Serverless Application Model 命令列界面 (AWS SAM CLI) 會封裝 AWS SAM 應用程式。

此命令會建立程式碼和相依性`.zip`的檔案，並將檔案上傳到 Amazon Simple Storage Service (Amazon S3)。 會針對存放在 Amazon S3 中的所有檔案 AWS SAM 啟用加密。然後，它會傳回 AWS SAM 範本的副本，將本機成品的參考取代為命令上傳成品的 Amazon S3 位置。

根據預設，當您使用此命令時， AWS SAM CLI會假設您目前的工作目錄是專案的根目錄。 AWS SAM CLI 第一個嘗試尋找使用 [sam build](sam-cli-command-reference-sam-build.md)命令建置的範本檔案，位於 `.aws-sam` 子資料夾中，並命名為 `template.yaml`。接著， AWS SAM CLI會嘗試`template.yml`在目前的工作目錄中尋找名為 `template.yaml`或 的範本檔案。如果您指定 `--template`選項，則會覆寫 AWS SAM CLI的預設行為，並將僅封裝該 AWS SAM 範本及其指向的本機資源。

**注意**  
[sam deploy](sam-cli-command-reference-sam-deploy.md) 現在會隱含執行 的功能`sam package`。您可以直接使用 [sam deploy](sam-cli-command-reference-sam-deploy.md)命令來封裝和部署您的應用程式。

## Usage
<a name="sam-cli-command-reference-sam-package-usage"></a>

```
$ sam package <arguments> <options>
```

## 引數
<a name="sam-cli-command-reference-sam-package-args"></a>

**Resource ID (資源 ID)**  <a name="sam-cli-command-reference-sam-package-args-resource-id"></a>
要封裝的 Lambda 函數 ID。  
此為選用引數。如果您的應用程式包含單一 Lambda 函數，CLI AWS SAM 會封裝它。如果您的應用程式包含多個函數，請提供函數的 ID 來封裝單一函數。  
*有效值*：資源的邏輯 ID 或資源 ARN。

## 選項
<a name="sam-cli-command-reference-sam-package-options"></a>

`--config-env TEXT`  <a name="sam-cli-command-reference-sam-package-options-config-env"></a>
在要使用的組態檔案中指定預設參數值的環境名稱。預設值為「預設值」。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--config-file PATH`  <a name="sam-cli-command-reference-sam-package-options-config-file"></a>
組態檔案的路徑和檔案名稱，其中包含要使用的預設參數值。預設值為專案目錄根目錄中的 "samconfig.toml"。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--debug`  <a name="sam-cli-command-reference-sam-package-options-debug"></a>
開啟偵錯記錄以列印 AWS SAM CLI產生的偵錯訊息，並顯示時間戳記。

`--force-upload`  <a name="sam-cli-command-reference-sam-package-options-force-upload"></a>
覆寫 Amazon S3 儲存貯體中的現有檔案。指定此旗標以上傳成品，即使它們符合 Amazon S3 儲存貯體中的現有成品。

`--help`  <a name="sam-cli-command-reference-sam-package-options-help"></a>
顯示此訊息並結束。

`--image-repository TEXT`  <a name="sam-cli-command-reference-sam-package-options-image-repository"></a>
Amazon Elastic Container Registry (Amazon ECR) 儲存庫的 URI，此命令會上傳函數的映像。使用 `Image`套件類型宣告的函數需要。

`--kms-key-id TEXT`  <a name="sam-cli-command-reference-sam-package-options-kms-key-id"></a>
用來加密 Amazon S3 儲存貯體中靜態成品的 AWS Key Management Service (AWS KMS) 金鑰 ID。如果未指定此選項，則 AWS SAM 會使用 Amazon S3-managed加密金鑰。

`--metadata`  <a name="sam-cli-command-reference-sam-package-options-metadata"></a>
（選用） 要連接到範本中參考之所有成品的中繼資料映射。

`--no-progressbar`  <a name="sam-cli-command-reference-sam-package-options-no-progressbar"></a>
將成品上傳至 Amazon S3 時，請勿顯示進度列。

`--output-template-file PATH`  <a name="sam-cli-command-reference-sam-package-options-output-template-file"></a>
命令寫入封裝範本的檔案路徑。如果您未指定路徑，命令會將範本寫入標準輸出。

`--profile TEXT`  <a name="sam-cli-command-reference-sam-package-options-profile"></a>
從您的登入資料檔案中取得 AWS 登入資料的特定設定檔。

`--region TEXT`  <a name="sam-cli-command-reference-sam-package-options-region"></a>
 AWS 要部署的區域。例如 us-east-1。

`--resolve-s3`  <a name="sam-cli-command-reference-sam-package-options-resolve-s3"></a>
自動建立 Amazon S3 儲存貯體以用於封裝。如果您同時指定 `--s3-bucket`和 `--resolve-s3`選項，則會產生錯誤。

`--s3-bucket TEXT`  <a name="sam-cli-command-reference-sam-package-options-s3-bucket"></a>
此命令上傳成品的 Amazon S3 儲存貯體名稱。如果您的成品大於 51，200 個位元組，則需要 `--s3-bucket`或 `--resolve-s3`選項。如果您同時指定 `--s3-bucket`和 `--resolve-s3`選項，則會產生錯誤。

`--s3-prefix TEXT`  <a name="sam-cli-command-reference-sam-package-options-s3-prefix"></a>
新增至上傳到 Amazon S3 儲存貯體之成品名稱的字首。字首名稱是 Amazon S3 儲存貯體的路徑名稱 （資料夾名稱）。這僅適用於使用`Zip`套件類型宣告的函數。

`--save-params`  <a name="sam-cli-command-reference-sam-package-options-save-params"></a>
將您在命令列提供的參數儲存至 AWS SAM 組態檔案。

`--signing-profiles LIST`  <a name="sam-cli-command-reference-sam-package-options-signing-profiles"></a>
（選用） 用來簽署部署套件的簽署設定檔清單。此參數會取得索引鍵/值對的清單，其中索引鍵是要簽署的函數或 layer 的名稱，而值是簽署描述檔，選用的描述檔擁有者以 分隔`:`。例如 `FunctionNameToSign=SigningProfileName1 LayerNameToSign=SigningProfileName2:SigningProfileOwner`。

`--template-file, --template, -t PATH`  <a name="sam-cli-command-reference-sam-package-options-template-file"></a>
範本 AWS SAM 所在的路徑和檔案名稱。  
如果您指定此選項， 只會 AWS SAM 封裝範本及其指向的本機資源。

`--use-json`  <a name="sam-cli-command-reference-sam-package-options-use-json"></a>
 CloudFormation 範本的輸出 JSON。預設會使用 YAML。

## 範例
<a name="sam-cli-command-reference-sam-package-examples"></a>

下列範例會為 Lambda 函數和 CodeDeploy 應用程式建立並封裝成品。成品會上傳至 Amazon S3 儲存貯體。命令的輸出是名為 `package.yml` 的新檔案。

```
$ sam package \
  --template-file template.yml \
  --output-template-file package.yml \
  --s3-bucket amzn-s3-demo-bucket
```

# sam pipeline bootstrap
<a name="sam-cli-command-reference-sam-pipeline-bootstrap"></a>

此頁面提供 AWS Serverless Application Model 命令列界面 (AWS SAM CLI) `sam local pipeline bootstrap`子命令的參考資訊。

如需 的簡介 AWS SAM CLI，請參閱 [什麼是 AWS SAM CLI？](what-is-sam-overview.md#what-is-sam-cli)

`sam pipeline bootstrap` 子命令會產生必要的 AWS 基礎設施資源，以連線至您的 CI/CD 系統。執行 **sam pipeline init**命令之前，必須針對管道中的每個部署階段執行此步驟。

此子命令會設定下列 AWS 基礎設施資源：
+ 透過下列方式設定管道許可的選項：
  + 具有要與 CI/CD 系統共用之存取金鑰 ID 和私密金鑰存取憑證的管道 IAM 使用者。
**注意**  
建議您定期輪換存取金鑰。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[針對需要長期憑證的使用案例定期輪換存取金鑰](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#rotate-credentials)。
  + 透過 OIDC 支援的 CI/CD 平台。如需搭配 AWS SAM 管道使用 OIDC 的簡介，請前往 [如何搭配 AWS SAM 管道使用 OIDC 身分驗證](deploying-with-oidc.md)。
+ 由 擔任 CloudFormation 以部署 AWS SAM 應用程式的 CloudFormation 執行 IAM 角色。
+ 保存 AWS SAM 成品的 Amazon S3 儲存貯體。
+ 或者，用於保存容器映像 Lambda 部署套件的 Amazon ECR 映像儲存庫 （如果您有套件類型 的資源`Image`)。

## Usage
<a name="sam-cli-command-reference-sam-pipeline-bootstrap-usage"></a>

```
$ sam pipeline bootstrap <options>
```

## 選項
<a name="sam-cli-command-reference-sam-pipeline-bootstrap-options"></a>

`--bitbucket-repo-uuid TEXT`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-bitbucket-repo-uuid"></a>
 Bitbucket 儲存庫的 UUID。此選項專用於將 Bitbucket OIDC 用於許可。  
您可以在 https://bitbucket.org/：//*workspace*/*repository*/admin/addon/admin/pipelines/openid-connect 找到此值 

`--bucket TEXT`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-bucket"></a>
存放 AWS SAM 成品之 Amazon S3 儲存貯體的 ARN。

`--cicd-provider TEXT`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-cicd-provider"></a>
 AWS SAM 管道的 CI/CD 平台。

`--cloudformation-execution-role TEXT`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-cloudformation-execution-role"></a>
部署應用程式堆疊 CloudFormation 時，要由 擔任之 IAM 角色的 ARN。只有在您想要使用自己的角色時才提供 。否則，命令會建立新的角色。

`--config-env TEXT`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-config-env"></a>
環境名稱，指定組態檔案中要使用的預設參數值。預設值為 **default**。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--config-file PATH`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-config-file"></a>
組態檔案的路徑和檔案名稱，其中包含要使用的預設參數值。預設值位於專案目錄的根`samconfig.toml`目錄中。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--confirm-changeset | --no-confirm-changeset`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-confirm-changeset"></a>
提示 確認 資源的部署。

`--create-image-repository | --no-create-image-repository`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-create-image-repository"></a>
如果未提供，請指定是否建立 Amazon ECR 映像儲存庫。Amazon ECR 儲存庫會保留 Lambda 函數的容器映像，或套件類型為 的層`Image`。預設值為 `--no-create-image-repository`。

`--debug`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-debug"></a>
開啟偵錯記錄並列印 產生的偵錯訊息 AWS SAM CLI，並顯示時間戳記。

`--deployment-branch TEXT`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-deployment-branch"></a>
部署將從中發生的分支名稱。此選項專用於將 GitHub Actions OIDC 用於許可。

`--github-org TEXT`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-github-org"></a>
儲存庫所屬的 GitHub 組織。如果沒有組織，請輸入儲存庫擁有者的使用者名稱。此選項專用於將 GitHub Actions OIDC 用於許可。

`--github-repo TEXT`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-github-repo"></a>
部署將從中發生的 GitHub 儲存庫名稱。此選項專用於將 GitHub Actions OIDC 用於許可。

`--gitlab-group TEXT`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-gitlab-group"></a>
儲存庫所屬的 GitLab 群組。此選項專用於將 GitLab OIDC 用於許可。

`--gitlab-project TEXT`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-gitlab-project"></a>
GitLab 專案名稱。此選項專用於將 GitLab OIDC 用於許可。

`--help, -h`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-help"></a>
顯示此訊息並結束。

`--image-repository TEXT`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-image-repository"></a>
Amazon ECR 映像儲存庫的 ARN，該儲存庫存放 Lambda 函數的容器映像，或套件類型為 的層`Image`。如果提供，則會忽略`--create-image-repository`選項。如果未提供 且`--create-image-repository`已指定 ，則命令會建立一個。

`--interactive | --no-interactive`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-interactive"></a>
停用引導參數的互動式提示，如果缺少任何必要的參數，則失敗。預設值為 `--interactive`。對於此命令， `--stage`是唯一必要的參數。  
如果 `--no-interactive` 與 一起指定`--use-oidc-provider`，則必須包含 OIDC 供應商的所有必要參數。

`--oidc-client-id TEXT`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-oidc-client-id"></a>
設定為搭配 OIDC 提供者使用的用戶端 ID。

`--oidc-provider [github-actions | gitlab | bitbucket-pipelines]`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-oidc-provider"></a>
將用於 OIDC 許可的 CI/CD 提供者名稱。支援 GitLab、GitHub 和 Bitbucket。

`--oidc-provider-url TEXT`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-oidc-provider-url"></a>
OIDC 提供者的 URL。值必須以 開頭**https://**。

`--permissions-provider [oidc | iam]`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-permissions-provider"></a>
選擇許可提供者以擔任管道執行角色。預設值為 **iam**。

`--pipeline-execution-role TEXT`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-pipeline-execution-role"></a>
管道使用者要擔任以在此階段操作之 IAM 角色的 ARN。只有在您想要使用自己的角色時才提供 。如果未提供，此命令將建立新的角色。

`--pipeline-user TEXT`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-pipeline-user"></a>
IAM 使用者的 Amazon Resource Name (ARN)，其存取金鑰 ID 和私密存取金鑰與 CI/CD 系統共用。它用於授予此 IAM 使用者存取對應 AWS 帳戶的許可。如果未提供，命令將建立 IAM 使用者以及存取金鑰 ID 和私密存取金鑰憑證。

`--profile TEXT`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-profile"></a>
從您的登入資料檔案中取得 AWS 登入資料的特定設定檔。

`--region TEXT`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-region"></a>
 AWS 要部署的區域。例如 `us-east-1`。

`--save-params`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-save-params"></a>
將您在命令列提供的參數儲存至 AWS SAM 組態檔案。

`--stage TEXT`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-stage"></a>
對應部署階段的名稱。它用作所建立 AWS 基礎設施資源的尾碼。

## 疑難排解
<a name="sam-cli-command-reference-sam-pipeline-bootstrap-troubleshooting"></a>

### 錯誤：缺少必要的參數
<a name="sam-cli-command-reference-sam-pipeline-bootstrap-troubleshooting-example1"></a>

當 `--no-interactive` 與 一起指定`--use-oidc-provider`，且未提供任何必要的參數時，此錯誤訊息將與遺失參數的描述一起顯示。

## 範例
<a name="sam-cli-command-reference-sam-pipeline-bootstrap-examples"></a>

下列範例會建立建立 CI/CD 系統所需的 AWS 資源，並開啟偵錯記錄，並列印 產生的偵錯訊息 AWS SAM CLI： 使用產生的事件進行本機測試，方法是使用 `s3.json` 事件在本機叫用 Lambda 函數

```
$ sam pipeline bootstrap --debug
```

# sam pipeline init
<a name="sam-cli-command-reference-sam-pipeline-init"></a>

此頁面提供 AWS Serverless Application Model 命令列界面 (AWS SAM CLI) `sam pipeline init`子命令的參考資訊。

如需 的簡介 AWS SAM CLI，請參閱 [什麼是 AWS SAM CLI？](what-is-sam-overview.md#what-is-sam-cli)

`sam pipeline init` 子命令會產生管道組態檔案，您的 CI/CD 系統可使用該檔案來部署無伺服器應用程式 AWS SAM。

使用 之前**sam pipeline init**，您必須為管道中的每個階段引導必要的資源。您可以執行 **sam pipeline init --bootstrap** 以引導完成設定和組態檔案產生程序，或參考您先前使用 **sam pipeline bootstrap**命令建立的資源。

## Usage
<a name="sam-cli-command-reference-sam-pipeline-init-usage"></a>

```
$ sam pipeline init <options>
```

## 選項
<a name="sam-cli-command-reference-sam-pipeline-init-options"></a>

`--bootstrap`  <a name="sam-cli-command-reference-sam-pipeline-init-options-bootstrap"></a>
啟用互動式模式，引導使用者建立必要的 AWS 基礎設施資源。

`--config-env TEXT`  <a name="sam-cli-command-reference-sam-pipeline-init-options-config-env"></a>
在要使用的組態檔案中指定預設參數值的環境名稱。預設值為 `default`。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--config-file TEXT`  <a name="sam-cli-command-reference-sam-pipeline-init-options-config-file"></a>
組態檔案的路徑和檔案名稱，其中包含要使用的預設參數值。預設值位於`samconfig.toml`專案根目錄中。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--debug`  <a name="sam-cli-command-reference-sam-pipeline-init-options-debug"></a>
開啟偵錯記錄以列印 產生的偵錯訊息 AWS SAM CLI，並顯示時間戳記。

`--help, -h`  <a name="sam-cli-command-reference-sam-pipeline-init-options-help"></a>
顯示此訊息並結束。

`--save-params`  <a name="sam-cli-command-reference-sam-pipeline-init-options-save-params"></a>
將您在命令列提供的參數儲存至 AWS SAM 組態檔案。

## 範例
<a name="sam-cli-command-reference-sam-pipeline-init-examples"></a>

下列範例說明如何使用 `--bootstrap`選項，讓您演練互動式模式，逐步引導您建立必要的 AWS 基礎設施資源：

```
$ sam pipeline init --bootstrap
```

# sam publish
<a name="sam-cli-command-reference-sam-publish"></a>

此頁面提供 AWS Serverless Application Model Command Line Interface (AWS SAM CLI) `sam publish`命令的參考資訊。

如需 的簡介 AWS SAM CLI，請參閱 [什麼是 AWS SAM CLI？](what-is-sam-overview.md#what-is-sam-cli)

`sam publish` 命令會將 AWS SAM 應用程式發佈至 AWS Serverless Application Repository。此命令採用封裝 AWS SAM 範本，並將應用程式發佈至指定的 AWS 區域。

`sam publish` 命令預期 AWS SAM 範本包含包含發佈所需應用程式中繼資料的`Metadata`區段。在 `Metadata`區段中， `LicenseUrl`和 `ReadmeUrl` 屬性必須參考 Amazon Simple Storage Service (Amazon S3) 儲存貯體，而非本機檔案。如需 AWS SAM 範本 `Metadata`區段的詳細資訊，請參閱 [使用 發佈您的應用程式 AWS SAM CLI](serverless-sam-template-publishing-applications.md)。

根據預設， `sam publish`會將應用程式建立為私有。在允許其他 AWS 帳戶檢視和部署您的應用程式之前，您必須共用它。如需共用應用程式的資訊，請參閱《 *AWS Serverless Application Repository 開發人員指南*》中的以[AWS Serverless Application Repository 資源為基礎的政策範例](https://docs.aws.amazon.com/serverlessrepo/latest/devguide/security_iam_resource-based-policy-examples.html)。

**注意**  
目前`sam publish`不支援發佈本機指定的巢狀應用程式。如果您的應用程式包含巢狀應用程式，您必須先將它們分別發佈到 ， AWS Serverless Application Repository 然後再發佈父應用程式。

## Usage
<a name="sam-cli-command-reference-sam-publish-usage"></a>

```
$ sam publish <options>
```

## 選項
<a name="sam-cli-command-reference-sam-publish-options"></a>

`--config-env TEXT`  <a name="sam-cli-command-reference-sam-publish-options-config-env"></a>
在要使用的組態檔案中指定預設參數值的環境名稱。預設值為「預設值」。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--config-file PATH`  <a name="sam-cli-command-reference-sam-publish-options-config-file"></a>
組態檔案的路徑和檔案名稱，其中包含要使用的預設參數值。專案目錄根目錄中的預設值為「`samconfig.toml`」。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--debug`  <a name="sam-cli-command-reference-sam-publish-options-debug"></a>
開啟偵錯記錄以列印 產生的偵錯訊息 AWS SAM CLI，並顯示時間戳記。

`--help`  <a name="sam-cli-command-reference-sam-publish-options-help"></a>
顯示此訊息並結束。

`--profile TEXT`  <a name="sam-cli-command-reference-sam-publish-options-profile"></a>
從您的登入資料檔案中取得 AWS 登入資料的特定設定檔。

`--region TEXT`  <a name="sam-cli-command-reference-sam-publish-options-region"></a>
 AWS 要部署的區域。例如 us-east-1。

`--save-params`  <a name="sam-cli-command-reference-sam-publish-options-save-params"></a>
將您在命令列提供的參數儲存至 AWS SAM 組態檔案。

`--semantic-version TEXT`  <a name="sam-cli-command-reference-sam-publish-options-semantic-version"></a>
（選用） 使用此選項提供應用程式的語意版本，覆寫範本檔案 `Metadata`區段中的 `SemanticVersion` 屬性。如需語意版本控制的詳細資訊，請參閱[語意版本控制規格](https://semver.org/)。

`--template, -t PATH`  <a name="sam-cli-command-reference-sam-publish-options-template"></a>
 AWS SAM 範本檔案 的路徑`[default: template.[yaml|yml]]`。

## 範例
<a name="sam-cli-command-reference-sam-publish-examples"></a>

若要發佈應用程式：

```
$ sam publish --template packaged.yaml --region us-east-1
```

# sam remote callback
<a name="sam-cli-command-reference-sam-remote-callback"></a>

此頁面提供 AWS Serverless Application Model Command Line Interface (AWS SAM CLI) `sam remote callback`命令的參考資訊。

如需 的簡介 AWS SAM CLI，請參閱 [什麼是 AWS SAM CLI？](what-is-sam-overview.md#what-is-sam-cli)

`sam remote callback` 命令可讓您將回呼傳送至在 AWS Lambda 中執行的遠端耐久函數執行。

**注意**  
這些命令需要存取 AWS 登入資料。

## Usage
<a name="sam-cli-command-reference-sam-remote-callback-usage"></a>

```
$ sam remote callback <subcommand> <options>
```

## 選項
<a name="sam-cli-command-reference-sam-remote-callback-options"></a>

`--help, -h`  <a name="sam-cli-command-reference-sam-remote-callback-options-help"></a>
顯示此訊息並結束。

## 子命令
<a name="sam-cli-command-reference-sam-remote-callback-subcommands"></a>

`succeed`  <a name="sam-cli-command-reference-sam-remote-callback-subcommands-succeed"></a>
將回呼成功傳送至遠端耐用函數執行。如需詳細資訊，請參閱[sam remote callback succeed](sam-cli-command-reference-sam-remote-callback-succeed.md)。

`fail`  <a name="sam-cli-command-reference-sam-remote-callback-subcommands-fail"></a>
將回呼失敗傳送至遠端耐用函數執行。如需詳細資訊，請參閱[sam remote callback fail](sam-cli-command-reference-sam-remote-callback-fail.md)。

`heartbeat`  <a name="sam-cli-command-reference-sam-remote-callback-subcommands-heartbeat"></a>
將回呼活動訊號傳送至遠端耐用的函數執行。如需詳細資訊，請參閱[sam remote callback heartbeat](sam-cli-command-reference-sam-remote-callback-heartbeat.md)。

# sam remote callback succeed
<a name="sam-cli-command-reference-sam-remote-callback-succeed"></a>

將回呼成功傳送至遠端耐用函數執行。

**注意**  
此命令需要存取 AWS 登入資料。

## Usage
<a name="ref-sam-cli-remote-callback-succeed-usage"></a>

```
$ sam remote callback succeed CALLBACK_ID [OPTIONS]
```

## 必要的引數
<a name="ref-sam-cli-remote-callback-succeed-arguments"></a>

`CALLBACK_ID`  
要傳送成功回應的回呼的唯一識別符。

## 選項
<a name="ref-sam-cli-remote-callback-succeed-options"></a>

`-r, --result TEXT`  
成功結果承載做為字串。

`--region TEXT`  
設定服務的 AWS 區域 （例如 `us-east-1`)。

`--profile TEXT`  
從登入資料檔案選取特定設定檔以取得 AWS 登入資料。

`--config-env TEXT`  
在組態檔案中指定預設參數值的環境名稱。預設：`default`

`--config-file TEXT`  
包含預設參數值的組態檔案。預設：`samconfig.toml`

`--save-params`  
將透過命令列提供的參數儲存至組態檔案。

`--beta-features / --no-beta-features`  
啟用/停用 Beta 版功能。

`--debug`  
開啟偵錯記錄以列印 CLI AWS SAM 產生的偵錯訊息，並顯示時間戳記。

`-h, --help`  
顯示此訊息並結束。

## 範例
<a name="ref-sam-cli-remote-callback-succeed-examples"></a>

傳送沒有結果的成功回呼：

```
$ sam remote callback succeed my-callback-id
```

傳送成功回呼，結果為：

```
$ sam remote callback succeed my-callback-id --result 'Task completed successfully'
```

# sam remote callback fail
<a name="sam-cli-command-reference-sam-remote-callback-fail"></a>

將回呼失敗傳送至遠端耐用函數執行。

**注意**  
此命令需要存取 AWS 登入資料。

## Usage
<a name="ref-sam-cli-remote-callback-fail-usage"></a>

```
$ sam remote callback fail CALLBACK_ID [OPTIONS]
```

## 必要的引數
<a name="ref-sam-cli-remote-callback-fail-arguments"></a>

`CALLBACK_ID`  
要傳送失敗回應的回呼的唯一識別符。

## 選項
<a name="ref-sam-cli-remote-callback-fail-options"></a>

`--error-data TEXT`  
其他錯誤資料。

`--stack-trace TEXT`  
堆疊追蹤項目。此選項可指定多次。

`--error-type TEXT`  
錯誤類型。

`--error-message TEXT`  
詳細的錯誤訊息。

`--region TEXT`  
設定服務的 AWS 區域 （例如 `us-east-1`)。

`--profile TEXT`  
從登入資料檔案選取特定設定檔以取得 AWS 登入資料。

`--config-env TEXT`  
在組態檔案中指定預設參數值的環境名稱。預設：`default`

`--config-file TEXT`  
包含預設參數值的組態檔案。預設：`samconfig.toml`

`--save-params`  
將透過命令列提供的參數儲存至組態檔案。

`--beta-features / --no-beta-features`  
啟用/停用 Beta 版功能。

`--debug`  
開啟偵錯記錄以列印 CLI AWS SAM 產生的偵錯訊息，並顯示時間戳記。

`-h, --help`  
顯示此訊息並結束。

## 範例
<a name="ref-sam-cli-remote-callback-fail-examples"></a>

傳送沒有參數的失敗回呼：

```
$ sam remote callback fail my-callback-id
```

傳送失敗回呼並顯示錯誤訊息：

```
$ sam remote callback fail my-callback-id --error-message 'Task failed'
```

使用所有參數傳送失敗回呼：

```
$ sam remote callback fail my-callback-id --error-message 'Task failed' --error-type 'ValidationError' --stack-trace 'at line 42' --error-data '{"code": 500}'
```

# sam remote callback heartbeat
<a name="sam-cli-command-reference-sam-remote-callback-heartbeat"></a>

將回呼活動訊號傳送至遠端耐用的函數執行。

**注意**  
此命令需要存取 AWS 登入資料。

## Usage
<a name="ref-sam-cli-remote-callback-heartbeat-usage"></a>

```
$ sam remote callback heartbeat CALLBACK_ID [OPTIONS]
```

## 必要的引數
<a name="ref-sam-cli-remote-callback-heartbeat-arguments"></a>

`CALLBACK_ID`  
要向其傳送活動訊號的回呼的唯一識別符。

## 選項
<a name="ref-sam-cli-remote-callback-heartbeat-options"></a>

`--region TEXT`  
設定服務的 AWS 區域 （例如 `us-east-1`)。

`--profile TEXT`  
從登入資料檔案選取特定設定檔以取得 AWS 登入資料。

`--config-env TEXT`  
在組態檔案中指定預設參數值的環境名稱。預設：`default`

`--config-file TEXT`  
包含預設參數值的組態檔案。預設：`samconfig.toml`

`--save-params`  
將透過命令列提供的參數儲存至組態檔案。

`--beta-features / --no-beta-features`  
啟用/停用 Beta 版功能。

`--debug`  
開啟偵錯記錄以列印 CLI AWS SAM 產生的偵錯訊息，並顯示時間戳記。

`-h, --help`  
顯示此訊息並結束。

## 範例
<a name="ref-sam-cli-remote-callback-heartbeat-examples"></a>

傳送活動訊號回呼：

```
$ sam remote callback heartbeat my-callback-id
```

# sam remote execution
<a name="sam-cli-command-reference-sam-remote-execution"></a>

此頁面提供 AWS Serverless Application Model Command Line Interface (AWS SAM CLI) `sam remote execution`命令的參考資訊。

如需 的簡介 AWS SAM CLI，請參閱 [什麼是 AWS SAM CLI？](what-is-sam-overview.md#what-is-sam-cli)

`sam remote execution` 命令可讓您管理和檢查在 AWS Lambda 中執行的遠端耐久函數執行。

**注意**  
這些命令需要存取 AWS 登入資料。

## Usage
<a name="sam-cli-command-reference-sam-remote-execution-usage"></a>

```
$ sam remote execution <subcommand> <options>
```

## 選項
<a name="sam-cli-command-reference-sam-remote-execution-options"></a>

`--help, -h`  <a name="sam-cli-command-reference-sam-remote-execution-options-help"></a>
顯示此訊息並結束。

## 子命令
<a name="sam-cli-command-reference-sam-remote-execution-subcommands"></a>

`get`  <a name="sam-cli-command-reference-sam-remote-execution-subcommands-get"></a>
取得耐久執行的詳細資訊。如需詳細資訊，請參閱[sam remote execution get](sam-cli-command-reference-sam-remote-execution-get.md)。

`history`  <a name="sam-cli-command-reference-sam-remote-execution-subcommands-history"></a>
取得持久函數執行的執行歷史記錄。如需詳細資訊，請參閱[sam remote execution history](sam-cli-command-reference-sam-remote-execution-history.md)。

`stop`  <a name="sam-cli-command-reference-sam-remote-execution-subcommands-stop"></a>
停止耐用的函數執行。如需詳細資訊，請參閱[sam remote execution stop](sam-cli-command-reference-sam-remote-execution-stop.md)。

# sam remote execution get
<a name="sam-cli-command-reference-sam-remote-execution-get"></a>

從 AWS Lambda 擷取特定耐用函數執行的詳細資訊。

執行 ARN 應採用叫用傳回的格式，或在執行日誌中找到。

**注意**  
此命令需要存取 AWS 登入資料。

## Usage
<a name="ref-sam-cli-remote-execution-get-usage"></a>

```
$ sam remote execution get DURABLE_EXECUTION_ARN [OPTIONS]
```

## 必要的引數
<a name="ref-sam-cli-remote-execution-get-arguments"></a>

`DURABLE_EXECUTION_ARN`  
要擷取詳細資訊之耐久函數執行的 Amazon Resource Name (ARN)。

## 選項
<a name="ref-sam-cli-remote-execution-get-options"></a>

`--format [summary|json]`  
輸出格式。預設：`summary`

`--region TEXT`  
設定服務的 AWS 區域 （例如 `us-east-1`)。

`--profile TEXT`  
從登入資料檔案選取特定設定檔以取得 AWS 登入資料。

`--config-env TEXT`  
在組態檔案中指定預設參數值的環境名稱。預設：`default`

`--config-file TEXT`  
包含預設參數值的組態檔案。預設：`samconfig.toml`

`--save-params`  
將透過命令列提供的參數儲存至組態檔案。

`--beta-features / --no-beta-features`  
啟用/停用 Beta 版功能。

`--debug`  
開啟偵錯記錄以列印 CLI AWS SAM 產生的偵錯訊息，並顯示時間戳記。

`-h, --help`  
顯示此訊息並結束。

## 範例
<a name="ref-sam-cli-remote-execution-get-examples"></a>

取得預設摘要格式的執行詳細資訊：

```
$ sam remote execution get 'arn:aws:lambda:us-east-1:123456789012:function:my-function:$LATEST/durable-execution/c63eec67-3415-4eb4-a495-116aa3a86278/1d454231-a3ad-3694-aa03-c917c175db55'
```

取得 JSON 格式的執行詳細資訊：

```
$ sam remote execution get 'arn:aws:lambda:us-east-1:123456789012:function:my-function:$LATEST/durable-execution/c63eec67-3415-4eb4-a495-116aa3a86278/1d454231-a3ad-3694-aa03-c917c175db55' --format json
```

**注意**  
您必須確保在使用 shell 命令時，如 等執行 ARN 中的控制字元`$`會正確逸出。

# sam remote execution history
<a name="sam-cli-command-reference-sam-remote-execution-history"></a>

從 AWS Lambda 擷取特定耐久函數執行的執行歷史記錄。

執行 ARN 應採用 StartDurableExecution 傳回的格式，或在執行日誌中找到。

**注意**  
此命令需要存取 AWS 登入資料。

## Usage
<a name="ref-sam-cli-remote-execution-history-usage"></a>

```
$ sam remote execution history DURABLE_EXECUTION_ARN [OPTIONS]
```

## 必要的引數
<a name="ref-sam-cli-remote-execution-history-arguments"></a>

`DURABLE_EXECUTION_ARN`  
要擷取其歷史記錄之耐久函數執行的 Amazon Resource Name (ARN)。

## 選項
<a name="ref-sam-cli-remote-execution-history-options"></a>

`--format [table|json]`  
輸出格式。預設：`table`

`--region TEXT`  
設定服務的 AWS 區域 （例如 `us-east-1`)。

`--profile TEXT`  
從登入資料檔案選取特定設定檔以取得 AWS 登入資料。

`--config-env TEXT`  
在組態檔案中指定預設參數值的環境名稱。預設：`default`

`--config-file TEXT`  
包含預設參數值的組態檔案。預設：`samconfig.toml`

`--save-params`  
將透過命令列提供的參數儲存至組態檔案。

`--beta-features / --no-beta-features`  
啟用/停用 Beta 版功能。

`--debug`  
開啟偵錯記錄以列印 CLI AWS SAM 產生的偵錯訊息，並顯示時間戳記。

`-h, --help`  
顯示此訊息並結束。

## 範例
<a name="ref-sam-cli-remote-execution-history-examples"></a>

使用預設資料表格式取得執行歷史記錄：

```
$ sam remote execution history arn:aws:lambda:us-east-1:123456789012:function:MyFunction:$LATEST/durable-execution/my-execution-name/my-execution-id
```

取得 JSON 格式的執行歷史記錄：

```
$ sam remote execution history arn:aws:lambda:us-east-1:123456789012:function:MyFunction:$LATEST/durable-execution/my-execution-name/my-execution-id --format json
```

# sam remote execution stop
<a name="sam-cli-command-reference-sam-remote-execution-stop"></a>

在 AWS Lambda 中停止執行中的耐用函數執行。

執行 ARN 應採用 StartDurableExecution 傳回的格式，或在執行日誌中找到。

**注意**  
此命令需要存取 AWS 登入資料。

## Usage
<a name="ref-sam-cli-remote-execution-stop-usage"></a>

```
$ sam remote execution stop DURABLE_EXECUTION_ARN [OPTIONS]
```

## 必要的引數
<a name="ref-sam-cli-remote-execution-stop-arguments"></a>

`DURABLE_EXECUTION_ARN`  
要停止之耐久函數執行的 Amazon Resource Name (ARN)。

## 選項
<a name="ref-sam-cli-remote-execution-stop-options"></a>

`--error-message TEXT`  
要與停止的執行建立關聯的錯誤訊息。

`--error-type TEXT`  
要與已停止執行建立關聯的錯誤類型。

`--error-data TEXT`  
要與已停止執行建立關聯的錯誤資料。

`--stack-trace TEXT`  
堆疊追蹤項目。此選項可指定多次。

`--region TEXT`  
設定服務的 AWS 區域 （例如 `us-east-1`)。

`--profile TEXT`  
從登入資料檔案選取特定設定檔以取得 AWS 登入資料。

`--config-env TEXT`  
在組態檔案中指定預設參數值的環境名稱。預設：`default`

`--config-file TEXT`  
包含預設參數值的組態檔案。預設：`samconfig.toml`

`--save-params`  
將透過命令列提供的參數儲存至組態檔案。

`--beta-features / --no-beta-features`  
啟用/停用 Beta 版功能。

`--debug`  
開啟偵錯記錄以列印 CLI AWS SAM 產生的偵錯訊息，並顯示時間戳記。

`-h, --help`  
顯示此訊息並結束。

## 範例
<a name="ref-sam-cli-remote-execution-stop-examples"></a>

在沒有錯誤詳細資訊的情況下停止執行：

```
$ sam remote execution stop arn:aws:lambda:us-east-1:123456789012:function:MyFunction:$LATEST/durable-execution/my-execution-name/my-execution-id
```

使用錯誤訊息和類型停止執行：

```
$ sam remote execution stop arn:aws:lambda:us-east-1:123456789012:function:MyFunction:$LATEST/durable-execution/my-execution-name/my-execution-id --error-message "Execution cancelled" --error-type "UserCancellation"
```

使用完整的錯誤詳細資訊和堆疊追蹤停止執行：

```
$ sam remote execution stop arn:aws:lambda:us-east-1:123456789012:function:MyFunction:$LATEST/durable-execution/my-execution-name/my-execution-id --error-message "Task failed" --error-type "TaskFailure" --error-data '{"reason":"timeout"}' --stack-trace "at function1()" --stack-trace "at function2()"
```

# sam remote invoke
<a name="sam-cli-command-reference-remote-invoke"></a>

此頁面提供 AWS Serverless Application Model Command Line Interface (AWS SAM CLI) `sam remote invoke`命令的參考資訊。
+ 如需 的簡介 AWS SAM CLI，請參閱 [什麼是 AWS SAM CLI？](what-is-sam-overview.md#what-is-sam-cli)
+ 如需使用 AWS SAM CLI`sam remote invoke`命令的文件，請參閱 [在雲端使用 進行測試的簡介 sam remote invoke](using-sam-cli-remote-invoke.md)。

`sam remote invoke` 命令會在 中叫用支援的資源 AWS 雲端。

## Usage
<a name="sam-cli-command-reference-remote-invoke-usage"></a>

```
$ sam remote invoke <arguments> <options>
```

## 引數
<a name="sam-cli-command-reference-remote-invoke-args"></a>

**Resource ID (資源 ID)**  <a name="sam-cli-command-reference-remote-invoke-args-resource-id"></a>
要叫用之受支援資源的 ID。  
此引數接受下列值：  
+ **Amazon Resource Name (ARN)** – 資源的 ARN。
**提示**  
使用 `sam list stack-outputs --stack-name <stack-name>`取得 資源的 ARN。
+ **邏輯 ID** – 資源的邏輯 ID。您還必須使用 `--stack-name`選項提供 AWS CloudFormation 堆疊名稱。
+ **實體 ID** – 資源的實體 ID。當您使用 部署資源時，會建立此 ID CloudFormation。
**提示**  
使用 `sam list resources --stack-name <stack-name>`取得 資源的實體 ID。  
**當您提供 ARN 或實體 ID 時：**  
如果您提供 ARN 或實體 ID，請勿提供堆疊名稱。使用 `--stack-name`選項提供堆疊名稱時，或在組態檔案中定義堆疊名稱時， AWS SAM CLI會自動將您的資源 ID 處理為 CloudFormation 堆疊中的邏輯 ID 值。  
**當您不提供資源 ID 時：**  
如果您不提供資源 ID，但使用 `--stack-name`選項提供堆疊名稱，CLI AWS SAM 將嘗試使用以下邏輯自動調用 CloudFormation 堆疊中的資源：  

1.  AWS SAM CLI 將依下列順序識別資源類型，並在堆疊中找到資源類型後移至下一個步驟：

   1. Lambda

   1. 步驟函數

   1. Amazon SQS

   1. Kinesis Data Streams

1. 如果資源類型在您的堆疊中有單一資源， AWS SAM CLI會叫用它。如果您的堆疊中存在多個資源類型，則 AWS SAM CLI會傳回錯誤。
以下是 AWS SAM CLI將執行的操作範例：  
+ **包含兩個 Lambda 函數和 Amazon SQS 佇列的堆疊** – AWS SAM CLI將尋找 Lambda 資源類型，並傳回 和 錯誤，因為堆疊包含多個 Lambda 函數。
+ **包含 Lambda 函數和兩個 Amazon Kinesis Data Streams 應用程式的堆疊** – AWS SAM CLI將尋找 Lambda 函數並將其叫用，因為堆疊包含單一 Lambda 資源。
+ **包含單一 Amazon SQS 佇列和兩個 Kinesis Data Streams 應用程式的堆疊** – AWS SAM CLI將尋找 Amazon SQS 佇列並將其叫用，因為堆疊包含單一 Amazon SQS 佇列。

## 選項
<a name="sam-cli-command-reference-remote-invoke-options"></a>

`--beta-features | --no-beta-features`  <a name="sam-cli-command-reference-remote-invoke-options-beta-features"></a>
允許或拒絕 Beta 版功能。

`--config-env TEXT`  <a name="sam-cli-command-reference-remote-invoke-options-config-env"></a>
從 AWS SAM CLI組態檔案指定要使用的環境。  
*預設*：`default`

`--config-file FILENAME`  <a name="sam-cli-command-reference-remote-invoke-options-config-file"></a>
指定組態檔案的路徑和檔案名稱。  
如需關於組態檔案的詳細資訊，請參閱 [設定 AWS SAM CLI](using-sam-cli-configure.md)。  
*預設*：在專案目錄的`samconfig.toml`根目錄。

`--debug`  <a name="sam-cli-command-reference-remote-invoke-options-debug"></a>
啟用除錯記錄。這會列印 產生的偵錯訊息和時間戳記 AWS SAM CLI。

`--event, -e TEXT`  <a name="sam-cli-command-reference-remote-invoke-options-event"></a>
要傳送至目標資源的事件。

`--event-file FILENAME`  <a name="sam-cli-command-reference-remote-invoke-options-event-file"></a>
檔案的路徑，其中包含要傳送至目標資源的事件。

`--help, -h`  <a name="sam-cli-command-reference-remote-invoke-options-help"></a>
顯示說明訊息並結束。

`--output [ text | json ]`  <a name="sam-cli-command-reference-remote-invoke-options-output"></a>
以特定輸出格式輸出調用的結果。  
`json` – 請求中繼資料和資源回應會以 JSON 結構傳回。回應包含完整的 SDK 輸出。  
`text` – 請求中繼資料會以文字結構傳回。資源回應會以叫用資源的輸出格式傳回。

`--parameter`  <a name="sam-cli-command-reference-remote-invoke-options-parameter"></a>
您可以傳遞給要叫用之資源的其他[https://boto3.amazonaws.com/v1/documentation/api/latest/index.html](https://boto3.amazonaws.com/v1/documentation/api/latest/index.html)參數。    
**Amazon Kinesis Data Streams**  <a name="sam-cli-command-reference-remote-invoke-options-parameter-kinesis"></a>
下列其他參數可用來將記錄放入 Kinesis 資料串流：  
+ `ExplicitHashKey='string'`
+ `PartitionKey='string'`
+ `SequenceNumberForOrdering='string'`
+ `StreamARN='string'`
如需每個參數的說明，請參閱 [Kinesis.Client.put\$1record](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/kinesis/client/put_record.html)。  
**AWS Lambda**  <a name="sam-cli-command-reference-remote-invoke-options-parameter-lambda"></a>
下列其他參數可用來叫用 Lambda 資源並接收緩衝回應：  
+ `ClientContext='base64-encoded string'`
+ `InvocationType='[ DryRun | Event | RequestResponse ]'`
+ `LogType='[ None | Tail ]'`
+ `Qualifier='string'`
下列其他參數可用來透過回應串流叫用 Lambda 資源：  
+ `ClientContext='base64-encoded string'`
+ `InvocationType='[ DryRun | RequestResponse ]'`
+ `LogType='[ None | Tail ]'`
+ `Qualifier='string'`
如需每個參數的說明，請參閱下列內容：  
+ 具有緩衝回應的 Lambda – [Lambda.Client.invoke](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/lambda/client/invoke.html)
+ 具有回應串流的 Lambda – [Lambda.Client.invoke\$1with\$1response\$1stream](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/lambda/client/invoke_with_response_stream.html)  
**Amazon Simple Queue Service (Amazon SQS)**  <a name="sam-cli-command-reference-remote-invoke-options-parameter-sqs"></a>
下列其他參數可用來傳送訊息至 Amazon SQS 佇列：  
+ `DelaySeconds=integer`
+ `MessageAttributes='json string'`
+ `MessageDeduplicationId='string'`
+ `MessageGroupId='string'`
+ `MessageSystemAttributes='json string'`
如需每個參數的說明，請參閱 [SQS.Client.send\$1message](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sqs/client/send_message.html)。  
**AWS Step Functions**  <a name="sam-cli-command-reference-remote-invoke-options-parameter-sf"></a>
下列其他參數可用來啟動狀態機器執行：  
+ `name='string'`
+ `traceHeader='string'`
如需每個參數的說明，請參閱 [SFN.Client.start\$1execution](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/stepfunctions/client/start_execution.html)。

`--profile TEXT`  <a name="sam-cli-command-reference-remote-invoke-options-profile"></a>
從您的登入資料檔案中取得 AWS 登入資料的特定設定檔。

`--region TEXT`  <a name="sam-cli-command-reference-remote-invoke-options-region"></a>
資源 AWS 區域 的 。例如 `us-east-1`。

`--stack-name TEXT`  <a name="sam-cli-command-reference-remote-invoke-options-stack-name"></a>
資源所屬的 CloudFormation 堆疊名稱。

`--tenant-id TEXT`  <a name="ref-sam-cli-local-invoke-options-tenancyconfig"></a>
多租用戶 Lambda 函數的租用戶 ID。用來確保不同租用戶之間的運算隔離。叫用使用租戶隔離模式設定的函數時為必要。

`--test-event-name NAME`  <a name="sam-cli-command-reference-remote-invoke-options-test-event-name"></a>
要傳遞至 Lambda 函數的可共用測試事件名稱。  
此選項僅支援 Lambda 函數。

## 範例
<a name="sam-cli-command-reference-remote-invoke-examples"></a>

下列範例會叫用 AWS 雲端中支援的資源，並啟用偵錯記錄，以列印 產生的偵錯訊息和時間戳記 AWS SAM CLI：

```
$ sam remote invoke--debug
```

# sam remote test-event
<a name="sam-cli-command-reference-remote-test-event"></a>

此頁面提供 AWS Serverless Application Model Command Line Interface (AWS SAM CLI) `sam remote test-event`命令的參考資訊。
+ 如需 的簡介 AWS SAM CLI，請參閱 [什麼是 AWS SAM CLI？](what-is-sam-overview.md#what-is-sam-cli)
+ 如需使用 AWS SAM CLI`sam remote test-event`命令的文件，請參閱 [使用 進行雲端測試的簡介 sam remote test-event](using-sam-cli-remote-test-event.md)。

`sam remote test-event` 命令會與 Amazon EventBridge 結構描述登錄檔中的可共用測試事件互動。

## Usage
<a name="sam-cli-command-reference-remote-test-event-usage"></a>

```
$ sam remote test-event <options> <subcommand>
```

## 選項
<a name="sam-cli-command-reference-remote-test-event-options"></a>

`--help, -h`  <a name="sam-cli-command-reference-remote-invoke-options-help"></a>
顯示說明訊息並結束。

## 子命令
<a name="sam-cli-command-reference-remote-test-event-subcommands"></a>

`delete`  
從 EventBridge 結構描述登錄檔中刪除可共用的測試事件。如需更多參考資訊，請參閱 [sam remote test-event delete](sam-cli-command-reference-remote-test-event-delete.md)。

`get`  
從 EventBridge 結構描述登錄檔取得可共用的測試事件。如需更多參考資訊，請參閱 [sam remote test-event get](sam-cli-command-reference-remote-test-event-get.md)。

`list`  
列出 AWS Lambda 函數的現有可共用測試事件。如需更多參考資訊，請參閱 [sam remote test-event list](sam-cli-command-reference-remote-test-event-list.md)。

`put`  
將事件從本機檔案儲存至 EventBridge 結構描述登錄檔。如需更多參考資訊，請參閱 [sam remote test-event put](sam-cli-command-reference-remote-test-event-put.md)。

# sam remote test-event delete
<a name="sam-cli-command-reference-remote-test-event-delete"></a>

此頁面提供 AWS Serverless Application Model 命令列界面 (AWS SAM CLI) `sam remote test-event delete`子命令的參考資訊。
+ 如需 的簡介 AWS SAM CLI，請參閱 [什麼是 AWS SAM CLI？](what-is-sam-overview.md#what-is-sam-cli)
+ 如需使用 AWS SAM CLI`sam remote test-event`命令的文件，請參閱 [使用 進行雲端測試的簡介 sam remote test-event](using-sam-cli-remote-test-event.md)。

`sam remote test-event delete` 子命令會從 Amazon EventBridge 結構描述登錄檔中刪除可共用的測試事件。

## Usage
<a name="sam-cli-command-reference-remote-test-event-delete-usage"></a>

```
$ sam remote test-event delete <arguments> <options>
```

## 引數
<a name="sam-cli-command-reference-remote-test-event-delete-args"></a>

**Resource ID (資源 ID)**  <a name="sam-cli-command-reference-remote-test-event-delete-args-resource-id"></a>
與可共用測試事件相關聯的 AWS Lambda 函數 ID。  
如果您提供邏輯 ID，您還必須使用 `--stack-name`選項為與 Lambda 函數相關聯的 AWS CloudFormation 堆疊提供值。  
*有效值*：資源的邏輯 ID 或資源 ARN。

## 選項
<a name="sam-cli-command-reference-remote-test-event-delete-options"></a>

`--config-env TEXT`  <a name="sam-cli-command-reference-remote-test-event-delete-options-config-env"></a>
在要使用的組態檔案中指定預設參數值的環境名稱。預設值為「預設值」。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--config-file PATH`  <a name="sam-cli-command-reference-remote-test-event-delete-options-config-file"></a>
組態檔案的路徑和檔案名稱，其中包含要使用的預設參數值。專案目錄根目錄中的預設值為「`samconfig.toml`」。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--help, -h`  <a name="sam-cli-command-reference-remote-test-event-delete-options-help"></a>
顯示說明訊息並結束。

`--name TEXT`  <a name="sam-cli-command-reference-remote-test-event-delete-options-name"></a>
要刪除的可共用測試事件的名稱。

`--stack-name TEXT`  <a name="sam-cli-command-reference-remote-test-event-delete-options-stack-name"></a>
與 Lambda 函數相關聯的 CloudFormation 堆疊名稱。  
如果您要提供 Lambda 函數邏輯 ID 做為 引數，則需要此選項。

# sam remote test-event get
<a name="sam-cli-command-reference-remote-test-event-get"></a>

此頁面提供 AWS Serverless Application Model 命令列界面 (AWS SAM CLI) `sam remote test-event get`子命令的參考資訊。
+ 如需 的簡介 AWS SAM CLI，請參閱 [什麼是 AWS SAM CLI？](what-is-sam-overview.md#what-is-sam-cli)
+ 如需使用 AWS SAM CLI`sam remote test-event`命令的文件，請參閱 [使用 進行雲端測試的簡介 sam remote test-event](using-sam-cli-remote-test-event.md)。

`sam remote test-event get` 子命令會從 Amazon EventBridge 結構描述登錄檔取得可共用的測試事件。

## Usage
<a name="sam-cli-command-reference-remote-test-event-get-usage"></a>

```
$ sam remote test-event get <arguments> <options>
```

## 引數
<a name="sam-cli-command-reference-remote-test-event-get-args"></a>

**Resource ID (資源 ID)**  <a name="sam-cli-command-reference-remote-test-event-get-args-resource-id"></a>
與要取得的可共用測試事件相關聯的 AWS Lambda 函數 ID。  
如果您提供邏輯 ID，您還必須使用 `--stack-name`選項為與 Lambda 函數相關聯的 AWS CloudFormation 堆疊提供值。  
*有效值*：資源的邏輯 ID 或資源 ARN。

## 選項
<a name="sam-cli-command-reference-remote-test-event-get-options"></a>

`--config-env TEXT`  <a name="sam-cli-command-reference-remote-test-event-get-options-config-env"></a>
在要使用的組態檔案中指定預設參數值的環境名稱。預設值為「預設值」。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--config-file PATH`  <a name="sam-cli-command-reference-remote-test-event-get-options-config-file"></a>
組態檔案的路徑和檔案名稱，其中包含要使用的預設參數值。專案目錄根目錄中的預設值為「`samconfig.toml`」。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--help, -h`  <a name="sam-cli-command-reference-remote-test-event-get-options-help"></a>
顯示說明訊息並結束。

`--name TEXT`  <a name="sam-cli-command-reference-remote-test-event-get-options-name"></a>
要取得的可共用測試事件名稱。

`--output-file FILENAME`  <a name="sam-cli-command-reference-remote-test-event-get-options-output-file"></a>
將事件儲存至本機電腦上的檔案路徑和名稱。  
如果您不提供此選項， AWS SAM CLI會將可共用測試事件的內容輸出到您的主控台。

`--stack-name TEXT`  <a name="sam-cli-command-reference-remote-test-event-get-options-stack-name"></a>
與 Lambda 函數相關聯的 CloudFormation 堆疊名稱。  
如果您要提供 Lambda 函數邏輯 ID 做為引數，則需要此選項。

# sam remote test-event list
<a name="sam-cli-command-reference-remote-test-event-list"></a>

此頁面提供 AWS Serverless Application Model 命令列界面 (AWS SAM CLI) `sam remote test-event list`子命令的參考資訊。
+ 如需 的簡介 AWS SAM CLI，請參閱 [什麼是 AWS SAM CLI？](what-is-sam-overview.md#what-is-sam-cli)
+ 如需使用 AWS SAM CLI`sam remote test-event`命令的文件，請參閱 [使用 進行雲端測試的簡介 sam remote test-event](using-sam-cli-remote-test-event.md)。

`sam remote test-event list` 子命令會從 Amazon EventBridge 結構描述登錄檔列出特定 AWS Lambda 函數的現有可共用測試事件。

## Usage
<a name="sam-cli-command-reference-remote-test-event-list-usage"></a>

```
$ sam remote test-event list <arguments> <options>
```

## 引數
<a name="sam-cli-command-reference-remote-test-event-list-args"></a>

**Resource ID (資源 ID)**  <a name="sam-cli-command-reference-remote-test-event-list-args-resource-id"></a>
與可共用測試事件相關聯的 Lambda 函數 ID。  
如果您提供邏輯 ID，您還必須使用 `--stack-name`選項為與 Lambda 函數相關聯的 AWS CloudFormation 堆疊提供值。  
*有效值*：資源的邏輯 ID 或資源 ARN。

## 選項
<a name="sam-cli-command-reference-remote-test-event-list-options"></a>

`--config-env TEXT`  <a name="sam-cli-command-reference-remote-test-event-list-options-config-env"></a>
在要使用的組態檔案中指定預設參數值的環境名稱。預設值為「預設值」。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--config-file PATH`  <a name="sam-cli-command-reference-remote-test-event-list-options-config-file"></a>
組態檔案的路徑和檔案名稱，其中包含要使用的預設參數值。專案目錄根目錄中的預設值為「`samconfig.toml`」。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--help, -h`  <a name="sam-cli-command-reference-remote-test-event-list-options-help"></a>
顯示說明訊息並結束。

`--stack-name TEXT`  <a name="sam-cli-command-reference-remote-test-event-list-options-stack-name"></a>
與 Lambda 函數相關聯的 CloudFormation 堆疊名稱。  
如果您要提供 Lambda 函數邏輯 ID 做為引數，則需要此選項。

## 範例
<a name="sam-cli-command-reference-remote-test-event-list-examples"></a>

如需使用此命令的範例，請參閱 [列出可共用的測試事件](using-sam-cli-remote-test-event.md#using-sam-cli-remote-test-event-use-list)。

# sam remote test-event put
<a name="sam-cli-command-reference-remote-test-event-put"></a>

此頁面提供 AWS Serverless Application Model 命令列界面 (AWS SAM CLI) `sam remote test-event put`子命令的參考資訊。
+ 如需 的簡介 AWS SAM CLI，請參閱 [什麼是 AWS SAM CLI？](what-is-sam-overview.md#what-is-sam-cli)
+ 如需使用 AWS SAM CLI`sam remote test-event`命令的文件，請參閱 [使用 進行雲端測試的簡介 sam remote test-event](using-sam-cli-remote-test-event.md)。

`sam remote test-event put` 子命令會將本機電腦的可共用測試事件儲存至 Amazon EventBridge 結構描述登錄檔。

## Usage
<a name="sam-cli-command-reference-remote-test-event-put-usage"></a>

```
$ sam remote test-event put <arguments> <options>
```

## 引數
<a name="sam-cli-command-reference-remote-test-event-put-args"></a>

**Resource ID (資源 ID)**  <a name="sam-cli-command-reference-remote-test-event-put-args-resource-id"></a>
與可共用測試事件相關聯的 AWS Lambda 函數 ID。  
如果您提供邏輯 ID，您還必須使用 `--stack-name`選項為與 Lambda 函數相關聯的 AWS CloudFormation 堆疊提供值。  
*有效值*：資源的邏輯 ID 或資源 ARN。

## 選項
<a name="sam-cli-command-reference-remote-test-event-put-options"></a>

`--config-env TEXT`  <a name="sam-cli-command-reference-remote-test-event-put-options-config-env"></a>
在要使用的組態檔案中指定預設參數值的環境名稱。預設值為「預設值」。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--config-file PATH`  <a name="sam-cli-command-reference-remote-test-event-put-options-config-file"></a>
組態檔案的路徑和檔案名稱，其中包含要使用的預設參數值。專案目錄根目錄中的預設值為「`samconfig.toml`」。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--file FILENAME`  <a name="sam-cli-command-reference-remote-test-event-put-options-file"></a>
事件到本機電腦上 的檔案路徑和名稱。  
提供 `-`做為要從 讀取的檔案名稱值`stdin`。  
此選項為必要。

`--force`, `-f`  <a name="sam-cli-command-reference-remote-test-event-put-options-force"></a>
以相同名稱覆寫可共用的測試事件。

`--help, -h`  <a name="sam-cli-command-reference-remote-test-event-put-options-help"></a>
顯示說明訊息並結束。

`--name TEXT`  <a name="sam-cli-command-reference-remote-test-event-put-options-name"></a>
儲存可共用測試事件的名稱。  
如果 EventBridge 結構描述登錄檔中存在同名的可共用測試事件，則 AWS SAM CLI不會覆寫它。若要覆寫，請新增 `--force`選項。

`--output-file FILENAME`  <a name="sam-cli-command-reference-remote-test-event-put-options-output-file"></a>
將事件儲存至本機電腦上的檔案路徑和名稱。  
如果您不提供此選項， AWS SAM CLI會將可共用測試事件的內容輸出到您的主控台。

`--stack-name TEXT`  <a name="sam-cli-command-reference-remote-test-event-put-options-stack-name"></a>
與 Lambda 函數相關聯的 CloudFormation 堆疊名稱。  
如果您要提供 Lambda 函數邏輯 ID 做為 引數，則需要此選項。

## 範例
<a name="sam-cli-command-reference-remote-test-event-put-examples"></a>

如需使用此命令的範例，請參閱 [儲存可共用的測試事件](using-sam-cli-remote-test-event.md#using-sam-cli-remote-test-event-use-put)。

# sam sync
<a name="sam-cli-command-reference-sam-sync"></a>

此頁面提供 AWS Serverless Application Model Command Line Interface (AWS SAM CLI) `sam sync`命令的參考資訊。
+ 如需 的簡介 AWS SAM CLI，請參閱 [什麼是 AWS SAM CLI？](what-is-sam-overview.md#what-is-sam-cli)
+ 如需使用 的文件 AWS SAM CLI，請參閱 [AWS SAM CLI](using-sam-cli.md)。

`sam sync` 命令會將本機應用程式變更同步至 AWS 雲端。

## Usage
<a name="sam-cli-command-reference-sam-sync-usage"></a>

```
$ sam sync <options>
```

## 選項
<a name="sam-cli-command-reference-sam-sync-options"></a>

`--base-dir, -s DIRECTORY`  <a name="sam-cli-command-reference-sam-sync-options-base-dir"></a>
針對此目錄，解析函數或 layer 原始程式碼的相對路徑。使用此選項可變更原始程式碼資料夾的相對路徑解析方式。根據預設，相對路徑會根據 AWS SAM 範本的位置進行解析。  
除了您要建置的根應用程式或堆疊中的資源之外，此選項也適用於巢狀應用程式或堆疊。此外，此選項適用於下列資源類型和屬性：  
+ 資源類型：`AWS::Serverless::Function`屬性： `CodeUri`
+ 資源類型：`AWS::Serverless::Function`資源屬性：`Metadata`項目： `DockerContext`
+ 資源類型：`AWS::Serverless::LayerVersion`屬性： `ContentUri`
+ 資源類型：`AWS::Lambda::Function`屬性： `Code`
+ 資源類型：`AWS::Lambda::LayerVersion`屬性： `Content`

`--build-image TEXT`  <a name="sam-cli-command-reference-sam-sync-options-build-image"></a>
您要在建置應用程式時使用的[容器映像](serverless-image-repositories.md#serverless-image-repository-uris)的 URI。根據預設， AWS SAM 會使用來自 [Amazon Elastic Container Registry (Amazon ECR) Public 的容器](https://docs.aws.amazon.com/AmazonECR/latest/public/what-is-ecr.html)映像儲存庫 URI。指定此選項以使用不同的映像。  
您可以在單一命令中多次使用此選項。每個選項都接受字串或鍵值對。  
+ **字串** – 指定應用程式中所有資源將使用的容器映像的 URI。以下是範例：

  ```
  $ sam sync --build-image amazon/aws-sam-cli-build-image-python3.8
  ```
+ **鍵/值對** – 將資源名稱指定為鍵，並將要與該資源搭配使用的容器映像 URI 指定為值。使用此格式為應用程式中的每個資源指定不同的容器映像 URI。以下是範例：

  ```
  $ sam sync --build-image Function1=amazon/aws-sam-cli-build-image-python3.8
  ```
此選項僅適用於指定 `--use-container`選項時，否則會導致錯誤。

`--build-in-source | --no-build-in-source`  <a name="sam-cli-command-reference-sam-sync-options-build-in-source"></a>
`--build-in-source` 可讓您直接在來源資料夾中建置專案。  
`--build-in-source` 選項支援下列執行時間和建置方法：  
+ **執行時間** – `sam init --runtime`選項支援的任何Node.js執行時間。
+ **組建方法** – `Makefile`、`esbuild`。
`--build-in-source` 選項與下列選項不相容：  
+ `--use-container `
*預設*：`--no-build-in-source`

`--capabilities LIST`  <a name="sam-cli-command-reference-sam-sync-options-capabilities"></a>
您指定 CloudFormation 允許 建立特定堆疊的功能清單。有些堆疊範本可能包含可能影響 許可的資源 AWS 帳戶。例如，透過建立新的 AWS Identity and Access Management (IAM) 使用者。指定此選項以覆寫預設值。有效值包括下列項目：  
+ CAPABILITY\$1IAM
+ CAPABILITY\$1NAMED\$1IAM
+ CAPABILITY\$1RESOURCE\$1POLICY
+ CAPABILITY\$1AUTO\$1EXPAND
*預設*： `CAPABILITY_NAMED_IAM`和 `CAPABILITY_AUTO_EXPAND`

`--code`  <a name="sam-cli-command-reference-sam-sync-options-code"></a>
根據預設， AWS SAM 會同步應用程式中的所有資源。指定此選項僅同步程式碼資源，其中包括下列項目：  
+ `AWS::Serverless::Function`
+ `AWS::Lambda::Function`
+ `AWS::Serverless::LayerVersion`
+ `AWS::Lambda::LayerVersion`
+ `AWS::Serverless::Api`
+ `AWS::ApiGateway::RestApi`
+ `AWS::Serverless::HttpApi`
+ `AWS::ApiGatewayV2::Api`
+ `AWS::Serverless::StateMachine`
+ `AWS::StepFunctions::StateMachine`
若要同步程式碼資源， 會直接 AWS SAM 使用 AWS 服務 APIs，而不是透過 部署 AWS CloudFormation。若要更新您的 CloudFormation 堆疊，請執行 **sam sync --watch**或 **sam deploy**。

`--config-env TEXT`  <a name="sam-cli-command-reference-sam-sync-options-config-env"></a>
在要使用的組態檔案中指定預設參數值的環境名稱。預設值為「預設值」。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--config-file PATH`  <a name="sam-cli-command-reference-sam-sync-options-config-file"></a>
組態檔案的路徑和檔案名稱，其中包含要使用的預設參數值。專案目錄根目錄中的預設值為「`samconfig.toml`」。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--dependency-layer | --no-dependency-layer`  <a name="sam-cli-command-reference-sam-sync-options-dependency-layer"></a>
指定是否要將個別函數的相依性分隔為另一層，以加速同步程序。  
*預設*：`--dependency-layer`

`--image-repository TEXT`  <a name="sam-cli-command-reference-sam-sync-options-image-repository"></a>
此命令上傳函數映像的 Amazon Elastic Container Registry (Amazon ECR) 儲存庫名稱。使用 `Image`套件類型宣告的函數需要。

`--image-repositories TEXT`  <a name="sam-cli-command-reference-sam-sync-options-image-repositories"></a>
函數映射至其 Amazon ECR 儲存庫 URI。依其邏輯 ID 參考函數。以下是範例：  

```
$ sam sync --image-repositories Function1=123456789012.dkr.ecr.us-east-1.amazonaws.com/my-repo
```
您可以在單一命令中多次指定此選項。

`--kms-key-id TEXT`  <a name="sam-cli-command-reference-sam-sync-options-kms-key-id"></a>
用來加密 Amazon S3 儲存貯體中靜態成品的 AWS Key Management Service (AWS KMS) 金鑰 ID。如果您未指定此選項，則 AWS SAM 會使用 Amazon S3-managed加密金鑰。

`--metadata`  <a name="sam-cli-command-reference-sam-sync-options-metadata"></a>
中繼資料映射，以連接到您在範本中參考的所有成品。

`--notification-arns LIST`  <a name="sam-cli-command-reference-sam-sync-options-notification-arns"></a>
與堆疊建立 CloudFormation 關聯的 Amazon Simple Notification Service (Amazon SNS) 主題 ARNs 清單。

`--no-use-container`  <a name="ref-sam-cli-sync-options-no-use-container"></a>
可讓您使用 IDE 工具組來設定預設行為的選項。

`--parameter-overrides`  <a name="sam-cli-command-reference-sam-sync-options-parameter-overrides"></a>
包含 CloudFormation 參數的字串會覆寫編碼為鍵值對的字串。使用與 AWS Command Line Interface () 相同的格式AWS CLI。格式 AWS SAM CLI是明確的索引鍵和值關鍵字，每個覆寫都會以空格分隔。以下是兩個範例：  
+ `--parameter-overrides ParameterKey=hello,ParameterValue=world`
+ `--parameter-overrides ParameterKey=hello,ParameterValue=world ParameterKey=example1,ParameterValue=example2 ParameterKey=apple,ParameterValue=banana`

`--resource TEXT`  <a name="sam-cli-command-reference-sam-sync-options-resource"></a>
指定要同步的資源類型。若要同步多個資源，您可以多次指定此選項。選項支援`--code`此選項。此值必須是 下列出的資源之一`--code`。例如 `--resource AWS::Serverless::Function --resource AWS::Serverless::LayerVersion`。

`--resource-id TEXT`  <a name="sam-cli-command-reference-sam-sync-options-resource-id"></a>
指定要同步的資源 ID。若要同步多個資源，您可以多次指定此選項。選項支援`--code`此選項。例如 `--resource-id Function1 --resource-id Function2`。

`--role-arn TEXT`  <a name="sam-cli-command-reference-sam-sync-options-role-arn"></a>
套用變更集時 CloudFormation 擔任之 IAM 角色的 Amazon Resource Name (ARN)。

`--s3-bucket TEXT`  <a name="sam-cli-command-reference-sam-sync-options-s3-bucket"></a>
此命令上傳 CloudFormation 範本的 Amazon Simple Storage Service (Amazon S3) 儲存貯體名稱。如果您的範本大於 51，200 個位元組，則需要 `--s3-bucket`或 `--resolve-s3`選項。如果您同時指定 `--s3-bucket`和 `--resolve-s3`選項，則會發生錯誤。

`--s3-prefix TEXT`  <a name="sam-cli-command-reference-sam-sync-options-s3-prefix"></a>
字首會新增至您上傳至 Amazon S3 儲存貯體的成品名稱。字首名稱是 Amazon S3 儲存貯體的路徑名稱 （資料夾名稱）。這僅適用於使用 `Zip`套件類型宣告的函數。

`--save-params`  <a name="sam-cli-command-reference-sam-sync-options-save-params"></a>
將您在命令列提供的參數儲存至 AWS SAM 組態檔案。

`--skip-deploy-sync | --no-skip-deploy-sync`  <a name="sam-cli-command-reference-sam-sync-options-skip-deploy-sync"></a>
指定在不需要時`--skip-deploy-sync`略過初始基礎設施同步。 AWS SAM CLI 將比較您的本機 AWS SAM 範本與部署的 CloudFormation 範本，並只在偵測到變更時才執行部署。  
指定 在每次執行`sam sync`時`--no-skip-deploy-sync`執行 CloudFormation 部署。  
如需詳細資訊，請參閱 [略過初始 CloudFormation 部署](using-sam-cli-sync.md#using-sam-cli-sync-options-skip-deploy-sync)。  
*預設*：`--skip-deploy-sync`

`--stack-name TEXT`  <a name="sam-cli-command-reference-sam-sync-options-stack-name"></a>
您應用程式的 CloudFormation 堆疊名稱。  
此選項為必要。

`--tags LIST`  <a name="sam-cli-command-reference-sam-sync-options-tags"></a>
要與建立或更新的堆疊建立關聯的標籤清單。 CloudFormation 也會將這些標籤傳播到堆疊中支援該標籤的資源。

`--template-file, --template, -t PATH`  <a name="sam-cli-command-reference-sam-sync-options-template-file"></a>
範本 AWS SAM 所在的路徑和檔案名稱。  
如果您指定此選項，則 AWS SAM 只會部署範本及其指向的本機資源。

`--use-container, -u`  <a name="sam-cli-command-reference-sam-sync-options-use-container"></a>
如果您的函數依賴於具有原生編譯相依性的套件，請使用此選項在 AWS Lambda類似 Docker 容器內建置函數。  
目前，此選項與 不相容`--dependency-layer`。如果您`--use-container`搭配 使用 `--dependency-layer`， AWS SAM CLI會通知您並繼續搭配 使用`--no-dependency-layer`。

`--watch`  <a name="sam-cli-command-reference-sam-sync-options-watch"></a>
啟動可監控本機應用程式變更的程序，並自動將其同步至 AWS 雲端。根據預設，當您指定此選項時， 會在您更新應用程式中的所有資源時 AWS SAM 同步。使用此選項， AWS SAM 會執行初始 CloudFormation 部署。然後， AWS SAM 會使用 AWS 服務 APIs來更新程式碼資源。當您更新 AWS SAM 範本時， AWS SAM 會使用 CloudFormation 來更新基礎設施資源。

`--watch-exclude TEXT`  <a name="sam-cli-command-reference-sam-sync-options-watch-exclude"></a>
排除觀察檔案或資料夾以進行檔案變更。若要使用此選項，`--watch`也必須提供 。  
此選項會收到金鑰/值對：  
+ **金鑰** – 應用程式中 Lambda 函數的邏輯 ID。
+ **值** – 要排除的關聯檔案名稱或資料夾。
當您更新使用 `--watch-exclude`選項指定的任何檔案或資料夾時， AWS SAM CLI將不會啟動同步。不過，當其他檔案或資料夾的更新啟動同步時，這些檔案或資料夾會包含在該同步中。  
您可以在單一命令中多次提供此選項。

## 範例
<a name="sam-cli-command-reference-sam-sync-examples"></a>

如需使用此命令的範例，請參閱 [sam 同步命令的選項](using-sam-cli-sync.md#using-sam-cli-sync-options)。

# sam traces
<a name="sam-cli-command-reference-sam-traces"></a>

此頁面提供 AWS Serverless Application Model Command Line Interface (AWS SAM CLI) `sam traces`命令的參考資訊。

如需 的簡介 AWS SAM CLI，請參閱 [什麼是 AWS SAM CLI？](what-is-sam-overview.md#what-is-sam-cli)

`sam traces` 命令會在 的 中擷取 AWS X-Ray 追蹤 AWS 帳戶 AWS 區域。

## Usage
<a name="sam-cli-command-reference-sam-traces-usage"></a>

```
$ sam traces <options>
```

## 選項
<a name="sam-cli-command-reference-sam-traces-options"></a>

`--config-env TEXT`  <a name="sam-cli-command-reference-sam-traces-options-config-env"></a>
在要使用的組態檔案中指定預設參數值的環境名稱。預設值為「預設值」。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--config-file PATH`  <a name="sam-cli-command-reference-sam-traces-options-config-file"></a>
組態檔案的路徑和檔案名稱，其中包含要使用的預設參數值。專案目錄根目錄中的預設值為「`samconfig.toml`」。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--end-time TEXT`  <a name="sam-cli-command-reference-sam-traces-options-end-time"></a>
擷取截至目前為止的追蹤。時間可以是「5 分鐘前」、「明天」等相對值，或「2018-01-01 10：10：10」等格式化時間戳記。

`--output TEXT`  <a name="sam-cli-command-reference-sam-traces-options-output"></a>
指定日誌的輸出格式。若要列印格式化日誌，請指定 `text`。若要將日誌列印為 JSON，請指定 `json`。

`--save-params`  <a name="sam-cli-command-reference-sam-traces-options-save-params"></a>
將您在命令列提供的參數儲存至 AWS SAM 組態檔案。

`--start-time TEXT`  <a name="sam-cli-command-reference-sam-traces-options-start-time"></a>
擷取此時開始的追蹤。時間可以是「5 分鐘前」、「昨天」等相對值，或「2018-01-01 10：10：10」等格式化時間戳記。預設為 '10 分鐘前'。

`--tail`  <a name="sam-cli-command-reference-sam-traces-options-tail"></a>
尾隨追蹤輸出。這會忽略結束時間引數，並在追蹤可用時繼續顯示追蹤。

`--trace-id TEXT`  <a name="sam-cli-command-reference-sam-traces-options-trace-id"></a>
X-Ray 追蹤的唯一識別符。

## 範例
<a name="sam-cli-command-reference-sam-traces-examples"></a>

執行下列命令，依 ID 擷取 X-Ray 追蹤。

```
$ sam traces --trace-id tracing-id-1 --trace-id tracing-id-2
```

執行下列命令，以在 X-Ray 追蹤可用時結尾。

```
$ sam traces --tail
```

# sam validate
<a name="sam-cli-command-reference-sam-validate"></a>

此頁面提供 AWS Serverless Application Model Command Line Interface (AWS SAM CLI) `sam validate`命令的參考資訊。

如需 的簡介 AWS SAM CLI，請參閱 [什麼是 AWS SAM CLI？](what-is-sam-overview.md#what-is-sam-cli)

`sam validate` 命令會驗證 AWS SAM 範本檔案是否有效。

## Usage
<a name="sam-cli-command-reference-sam-validate-usage"></a>

```
$ sam validate <options>
```

## 選項
<a name="sam-cli-command-reference-sam-validate-options"></a>

`--config-env TEXT`  <a name="sam-cli-command-reference-sam-validate-options-config-env"></a>
在要使用的組態檔案中指定預設參數值的環境名稱。預設值為「預設值」。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--config-file PATH`  <a name="sam-cli-command-reference-sam-validate-options-config-file"></a>
組態檔案的路徑和檔案名稱，其中包含要使用的預設參數值。預設值為專案目錄根目錄中的 "samconfig.toml"。如需關於組態檔案的詳細資訊，請參閱 [AWS SAM CLI 組態檔案](serverless-sam-cli-config.md)。

`--debug`  <a name="sam-cli-command-reference-sam-validate-options-debug"></a>
開啟偵錯記錄以列印 AWS SAM CLI產生的偵錯訊息，並顯示時間戳記。

`--lint`  <a name="sam-cli-command-reference-sam-validate-options-lint"></a>
 透過 在範本上執行 linting 驗證**cfn-lint**。建立`cfnlintrc`組態檔案以指定其他參數。如需詳細資訊，請參閱 *CloudFormation GitHub 儲存庫*中的 [cfn-lint](https://github.com/aws-cloudformation/cfn-lint)。

`--profile TEXT`  <a name="sam-cli-command-reference-sam-validate-options-profile"></a>
從您的登入資料檔案中取得 AWS 登入資料的特定設定檔。

`--region TEXT`  <a name="sam-cli-command-reference-sam-validate-options-region"></a>
 AWS 要部署的區域。例如 us-east-1。

`--save-params`  <a name="sam-cli-command-reference-sam-validate-options-save-params"></a>
將您在命令列提供的參數儲存至 AWS SAM 組態檔案。

`--template-file, --template, -t PATH`  <a name="sam-cli-command-reference-sam-validate-options-template-file"></a>
 AWS SAM 範本檔案。預設值為 `template.[yaml|yml]`。  
 如果您的範本位於目前的工作目錄中，且名為 `template.[yaml|yml|json]`，則不需要此選項。  
 如果您只執行 **sam build**，則不需要此選項。

## 範例
<a name="sam-cli-command-reference-sam-validate-examples"></a>

如需使用此命令驗證範本的範例，請參閱 [驗證 AWS SAM 範本檔案](serverless-sam-cli-using-validate.md)。

如需搭配 cfn-lint 使用此命令的範例，請參閱 [使用 CloudFormation Linter 驗證您的 AWS SAM 應用程式](validate-cfn-lint.md)。