

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

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

本节包括有关 AWS SAMCLI 命令的参考信息。其中包括有关用法的详细信息、每个命令可用的不同选项的完整列表以及其他信息。在适用的情况下，其他信息包括参数、环境变量和事件等详细信息。有关详细信息，请参阅每个命令。有关安装的说明 AWS SAMCLI，请参阅[安装 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 命令行界面 (AWS SAMCLI) `sam build` 命令的参考信息。
+ 有关简介 AWS SAMCLI，请参阅 [那是什么 AWS SAMCLI？](what-is-sam-overview.md#what-is-sam-cli)
+ 有关使用该 AWS SAMCLI`sam build`命令的文档，请参阅[搭建简介 AWS SAM](using-sam-cli-build.md)。

`sam build` 命令用于让应用程序为开发工作流程的后续步骤（例如，本地测试或部署到 AWS 云）做好准备。

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

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

## 参数
<a name="ref-sam-cli-build-args"></a>

**Resource 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>
根据此目录解析函数或层的源代码的相对路径。如果要更改源代码文件夹相对路径的解析方式，请使用此选项。默认情况下，相对路径是根据 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>
允许或拒绝测试版功能。

`--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。默认情况下， AWS SAM 从 Amazon ECR Public 提取容器映像。使用此选项可从其他位置提取映像。  
您可以多次指定该选项。此选项的每个实例都可以采用字符串或键值对。如果指定字符串，则字符串就是要用于应用程序中所有资源的容器映像 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>
启用或禁用缓存的构建。使用此选项可以重复使用与之前版本相比未更改的构建工件。 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>
在配置文件中指定要使用的默认参数值的环境名称。默认值为“default”。有关配置文件的详细信息，请参阅 [AWS SAMCLI 配置文件](serverless-sam-cli-config.md)。

`--config-file PATH`  <a name="ref-sam-cli-build-options-config-file"></a>
包含要使用的默认参数值的配置文件的路径和文件名。在项目目录的根目录中，默认值为“`samconfig.toml`”。有关配置文件的详细信息，请参阅 [AWS SAMCLI 配置文件](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`，则只会构建 `Function1` 和 `Function3`。

`--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 始终挂载文件中存在的 symlinks，以进行构建或调用。这仅适用于顶级目录中的 symlinks（即直接位于函数根目录下的 symlinks）。默认情况下，symlinks 不会被挂载，但用于在 NodeJS 中实现 `node_modules` 的 `build-in-source` 所需的 symlinks 除外。

`--no-use-container`  <a name="ref-sam-cli-build-options-no-use-container"></a>
让您可以使用 IDE toolkit 来设置默认行为的选项。您也可以使用 `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>
指定命令是否应跳过下拉最新 Docker 映像获取 Lambda 运行时的操作。

`--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 命令行界面 (AWS SAMCLI) `sam delete` 命令的参考信息。

有关简介 AWS SAMCLI，请参阅 [那是什么 AWS SAMCLI？](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 存储库。

## 用法
<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 SAMCLI 配置文件](serverless-sam-cli-config.md)。

`--config-file PATH`  <a name="sam-cli-command-reference-sam-delete-options-config-file"></a>
包含要使用的默认参数值的配置文件的路径和文件名。在项目目录的根目录中，默认值为 `samconfig.toml`。有关配置文件的详细信息，请参阅 [AWS SAMCLI 配置文件](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 命令行界面 (AWS SAMCLI) `sam deploy` 命令的参考信息。
+ 有关简介 AWS SAMCLI，请参阅 [那是什么 AWS SAMCLI？](what-is-sam-overview.md#what-is-sam-cli)
+ 有关使用该 AWS SAMCLI`sam deploy`命令的文档，请参阅[使用部署简介 AWS SAM](using-sam-cli-deploy.md)。

该`sam deploy`命令向用户部署应用程序。 AWS 云 AWS CloudFormation

## 用法
<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 SAMCLI 配置文件](serverless-sam-cli-config.md)。

`--config-file PATH`  <a name="ref-sam-cli-deploy-options-config-file"></a>
包含要使用的默认参数值的配置文件的路径和文件名。在项目目录的根目录中，默认值为 `samconfig.toml`。有关配置文件的详细信息，请参阅 [AWS SAMCLI 配置文件](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>
 AWS Key Management Service (AWS KMS) 密钥的 ID，用于对 Amazon S3 存储桶中的静态项目进行加密。如果您未指定此选项，则 AWS SAM 使用 Amazon S3 托管的加密密钥。

`--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>
与堆栈关联的亚马逊简单通知服务 (Amazon SNS) Service ARNs 主题 CloudFormation 列表。

`--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 资源名称 (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>
用于签署部署包的签名配置文件的列表。此选项采用键值对列表，其中密钥是要签名的函数或层的名称，值是签名配置文件，可选的配置文件所有者用 `:` 分隔。例如 `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 命令行界面 (AWS SAMCLI) `sam init` 命令的参考信息。
+ 有关简介 AWS SAMCLI，请参阅 [那是什么 AWS SAMCLI？](what-is-sam-overview.md#what-is-sam-cli)
+ 有关使用该 AWS SAMCLI`sam init`命令的文档，请参阅[在中创建您的应用程序 AWS SAM](using-sam-cli-init.md)。

`sam init` 命令提供用于初始化新的无服务器应用程序的选项。

## 用法
<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` ，则需要此参数。  
此参数只在 AWS SAM CLI 版本 0.30.0 及更高版本中提供。对早期版本指定此参数会导致错误。

`--application-insights | --no-application-insights`  <a name="sam-cli-command-reference-sam-init-options-application-insights"></a>
 为您的 CloudWatch 应用程序激活 Amazon 应用程序见解监控。要了解更多信息，请参阅[使用 “ CloudWatch 应用程序见解” 监控您的 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` 被指定为 `Image`，且未指定 `--location`，则需要此参数。

`--config-env TEXT`  <a name="sam-cli-command-reference-sam-init-options-config-env"></a>
在配置文件中指定要使用的默认参数值的环境名称。默认值为“default”。有关配置文件的详细信息，请参阅 [AWS SAMCLI 配置文件](serverless-sam-cli-config.md)。

`--config-file PATH`  <a name="sam-cli-command-reference-sam-init-options-config-file"></a>
包含要使用的默认参数值的配置文件的路径和文件名。在项目目录的根目录中，默认值为“samconfig.toml”。有关配置文件的详细信息，请参阅 [AWS SAMCLI 配置文件](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` 且未提供 `--runtime`、`--name` 和 `--app-template`，则需要此参数。  
对于 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 提示并接受模板配置中定义的 vcfdefault 值。

`--no-interactive`  <a name="sam-cli-command-reference-sam-init-options-no-interactive"></a>
禁用 init 参数的交互式提示，如果缺少任何必需值，则失败。

`--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` 被指定为 `Zip`，且未指定 `--location`，则需要此参数。

`--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 命令行界面 (AWS SAMCLI) `sam list` 命令的参考信息。

有关简介 AWS SAMCLI，请参阅 [那是什么 AWS SAMCLI？](what-is-sam-overview.md#what-is-sam-cli)

`sam list` 命令输出有关无服务器应用程序中资源和无服务器应用程序状态的重要信息。在部署之前和之后使用 **sam list**，以在本地开发和云开发期间提供帮助。

## 用法
<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 Serverless Application Model (AWS SAM) 模板中创建 AWS CloudFormation 的资源。有关更多信息，请参阅 [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 SAMCLI) `sam list endpoints` 子命令的参考信息。

有关简介 AWS SAMCLI，请参阅 [那是什么 AWS SAMCLI？](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 资源配置了自定义域，则这些域受支持。此命令会输出自定义域而不是默认端点。

## 用法
<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 SAMCLI 配置文件](serverless-sam-cli-config.md)。

`--config-file TEXT`  <a name="sam-cli-command-reference-sam-list-endpoints-options-config-file"></a>
包含要使用的默认参数值的配置文件的路径和文件名。  
*默认值*：当前工作目录中 `samconfig.toml`。  
有关配置文件的详细信息，请参阅 [AWS SAMCLI 配置文件](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>

以 json 格式显示名为的 CloudFormation 堆栈中已部署的资源端点的输出`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 SAMCLI) `sam list resources` 子命令的参考信息。

有关简介 AWS SAMCLI，请参阅 [那是什么 AWS SAMCLI？](what-is-sam-overview.md#what-is-sam-cli)

`sam list resources`子命令显示部署时 AWS SAM 转换在您的 AWS Serverless Application Model (AWS SAM) 模板中创建 AWS CloudFormation 的资源。

在部署之前**sam list resources**与 AWS SAM 模板一起使用以查看将要创建的资源。提供 CloudFormation 堆栈名称以查看包含已部署资源的合并列表。

**注意**  
要根据 AWS SAM 模板生成资源列表，需要对模板进行本地转换。此列表中包含有条件地部署（例如，在特定区域内）的资源。

## 用法
<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 SAMCLI 配置文件](serverless-sam-cli-config.md)。

`--config-file TEXT`  <a name="sam-cli-command-reference-sam-list-resources-options-config-file"></a>
包含要使用的默认参数值的配置文件的路径和文件名。  
*默认值*：当前工作目录中 `samconfig.toml`。  
有关配置文件的详细信息，请参阅 [AWS SAMCLI 配置文件](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 SAMCLI) `sam list stack-outputs` 子命令的参考信息。

有关简介 AWS SAMCLI，请参阅 [那是什么 AWS SAMCLI？](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)。

## 用法
<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 SAMCLI 配置文件](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 SAMCLI 配置文件](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 命令行界面 (AWS SAMCLI) `sam local callback` 命令的参考信息。

有关简介 AWS SAMCLI，请参阅 [那是什么 AWS SAMCLI？](what-is-sam-overview.md#what-is-sam-cli)

该`sam local callback`命令允许您在开发和测试期间向本地持久函数执行发送回调。

## 用法
<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>

向持久函数执行发送成功回调。

## 用法
<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`  
启用/禁用测试版功能。

`--debug`  
打开调试日志以打印 AWS SAM CLI 生成的调试消息并显示时间戳。

`-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>

向持久函数执行发送失败回调。

## 用法
<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`  
启用/禁用测试版功能。

`--debug`  
打开调试日志以打印 AWS SAM CLI 生成的调试消息并显示时间戳。

`-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>

向持久函数执行发送心跳回调。

## 用法
<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`  
启用/禁用测试版功能。

`--debug`  
打开调试日志以打印 AWS SAM CLI 生成的调试消息并显示时间戳。

`-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 命令行界面 (AWS SAMCLI) `sam local execution` 命令的参考信息。

有关简介 AWS SAMCLI，请参阅 [那是什么 AWS SAMCLI？](what-is-sam-overview.md#what-is-sam-cli)

该`sam local execution`命令允许您在开发和测试期间管理和检查本地持久函数的执行情况。

**注意**  
这些命令可能不需要访问 AWS 凭证。

## 用法
<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 凭证。

## 用法
<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 资源名称 (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`  
启用/禁用测试版功能。

`--debug`  
打开调试日志以打印 AWS SAM CLI 生成的调试消息并显示时间戳。

`-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>

获取持久函数执行的执行历史。

## 用法
<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`  
启用/禁用测试版功能。

`--debug`  
打开调试日志以打印 AWS SAM CLI 生成的调试消息并显示时间戳。

`-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 凭证。

## 用法
<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 资源名称 (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`  
启用/禁用测试版功能。

`--debug`  
打开调试日志以打印 AWS SAM CLI 生成的调试消息并显示时间戳。

`-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 SAMCLI) `sam local generate-event` 子命令的参考信息。
+ 有关简介 AWS SAMCLI，请参阅 [那是什么 AWS SAMCLI？](what-is-sam-overview.md#what-is-sam-cli)
+ 有关使用该 AWS SAMCLI`sam local generate-event`命令的文档，请参阅[使用 sam local generate-event 进行测试简介](using-sam-cli-local-generate-event.md)。

`sam local generate-event` 子命令可为受支持的 AWS 服务生成事件有效负载示例。

## 用法
<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>
在配置文件中指定要使用的默认参数值的环境名称。默认值为“default”。有关配置文件的详细信息，请参阅 [AWS SAMCLI 配置文件](serverless-sam-cli-config.md)。

`--config-file PATH`  <a name="ref-sam-cli-local-generate-event-options-config-file"></a>
包含要使用的默认参数值的配置文件的路径和文件名。在项目目录的根目录中，默认值为 `samconfig.toml`。有关配置文件的详细信息，请参阅 [AWS SAMCLI 配置文件](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 SAMCLI) `sam local invoke` 子命令的参考信息。
+ 有关简介 AWS SAMCLI，请参阅 [那是什么 AWS SAMCLI？](what-is-sam-overview.md#what-is-sam-cli)
+ 有关使用 AWS SAMCLI`sam local invoke`子命令的文档，请参阅[使用 sam local invoke 进行测试简介](using-sam-cli-local-invoke.md)。

`sam local invoke`子命令在本地启动一次性调用函数。 AWS Lambda 

**注意**  
不建议在不受信任的代码中使用 SAM CLI 的本地调用功能。要与本地环境完全隔离，请直接在 Lambda 服务中执行代码。

**注意**  
对于持久函数，`sam local invoke`支持具有自动检查点和重播功能的状态执行。容器在持久函数执行期间保持运行状态，以处理状态持久性和恢复。

## 用法
<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**  <a name="ref-sam-cli-local-invoke-args-resource-id"></a>
要调用的 Lambda 函数 的 ID。  
此参数是可选的。如果您的应用程序包含单个 Lambda 函数，则 CL AWS SAM I 将调用该函数。如果应用程序包含多个函数，请提供要调用的函数的 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>
将主机名到 IP 地址的映射传递到 Docker 容器的主机文件。此参数可以传递多次。  

**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>
允许或拒绝测试版功能。

`--config-env TEXT`  <a name="ref-sam-cli-local-invoke-options-config-env"></a>
在配置文件中指定要使用的默认参数值的环境名称。默认值为“default”。有关配置文件的详细信息，请参阅 [AWS SAMCLI 配置文件](serverless-sam-cli-config.md)。

`--config-file PATH`  <a name="ref-sam-cli-local-invoke-options-config-file"></a>
包含要使用的默认参数值的配置文件的路径和文件名。在项目目录的根目录中，默认值为“`samconfig.toml`”。有关配置文件的详细信息，请参阅 [AWS SAMCLI 配置文件](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 SAMCLI，则可以指定远程主机的 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 在远程计算机上运行，则必须在 Docker 计算机上挂载 AWS SAM 文件所在的路径，并修改此值以匹配远程计算机。

`--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>
包含调用 Lambda 函数时传递给该函数的事件数据的 JSON 文件。如果不指定此选项，则不会假设任何事件。要从 `stdin` 中输入 JSON，必须传递值 '-'。有关来自不同 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 是否应重建用于调用包含层的 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。默认情况下， AWS SAM 从 Amazon ECR Public（列在 [的图像存储库 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 始终挂载文件中存在的 symlinks，以进行构建或调用。这仅适用于顶级目录中的 symlinks（即直接位于函数根目录下的 symlinks）。默认情况下，symlinks 不会被挂载，但用于在 NodeJS 中实现 `node_modules` 的 `build-in-source` 所需的 symlinks 除外。

`--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 SAMCLI 格式为显式密钥和值关键字，每个覆盖都用空格分隔。以下是两个示例：  
+ `--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>
将 AWS SAM CLI 与 Terraform Cloud 配合使用时本地 Terraform 计划文件的相对路径或绝对路径。此选项要求将 `--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
```

以下示例使用 Python 3.11 运行时来测试函数 ` HelloWorldFunction`

```
$ 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 SAMCLI) `sam local start-api` 子命令的参考信息。
+ 有关简介 AWS SAMCLI，请参阅 [那是什么 AWS SAMCLI？](what-is-sam-overview.md#what-is-sam-cli)
+ 有关使用 AWS SAMCLI`sam local start-api`子命令的文档，请参阅[使用 sam local start-api 进行测试简介](using-sam-cli-local-start-api.md)。

`sam local start-api`子命令在本地运行您的 AWS Lambda 函数，以便通过本地 HTTP 服务器主机进行测试。

## 用法
<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>
将主机名到 IP 地址的映射传递到 Docker 容器的主机文件。此参数可以传递多次。  

**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>
允许或拒绝测试版功能。

`--config-env TEXT`  <a name="ref-sam-cli-local-start-api-options-config-env"></a>
在配置文件中指定要使用的默认参数值的环境名称。默认值为“default”。有关配置文件的详细信息，请参阅 [AWS SAMCLI 配置文件](serverless-sam-cli-config.md)。

`--config-file PATH`  <a name="ref-sam-cli-local-start-api-options-config-file"></a>
包含要使用的默认参数值的配置文件的路径和文件名。在项目目录的根目录中，默认值为“samconfig.toml”。有关配置文件的详细信息，请参阅 [AWS SAMCLI 配置文件](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 SAMCLI，则可以指定远程主机的 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>
可选。指定在指定 `--warm-containers` 时应用调试选项的 Lambda 函数。此参数适用于 `--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 在远程计算机上运行，则必须在 Docker 计算机上挂载 AWS SAM 文件所在的路径，并修改此值以匹配远程计算机。

`--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应重建用于调用带图层的函数的图像。

`--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>
指定模板使用的层下载到的基目录的位置。

`--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 SAMCLI 格式为显式密钥和值关键字，每个覆盖都用空格分隔。以下是两个示例：  
+ `--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 是否应跳过下拉最新 Docker 映像获取 Lambda 运行时的操作。

`--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>
将 AWS SAM CLI 与 Terraform Cloud 配合使用时本地 Terraform 计划文件的相对路径或绝对路径。此选项要求将 `--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 SAMCLI) `sam local start-lambda` 子命令的参考信息。
+ 有关简介 AWS SAMCLI，请参阅 [那是什么 AWS SAMCLI？](what-is-sam-overview.md#what-is-sam-cli)
+ 有关使用 AWS SAMCLI`sam local start-lambda`子命令的文档，请参阅[使用 sam local start-lambda 进行测试简介](using-sam-cli-local-start-lambda.md)。

`sam local start-lambda` 子命令启动要模拟 AWS Lambda的本地端点。

## 用法
<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>
将主机名到 IP 地址的映射传递到 Docker 容器的主机文件。此参数可以传递多次。  

**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>
允许或拒绝测试版功能。

`--config-env TEXT`  <a name="ref-sam-cli-local-start-lambda-options-config-env"></a>
在配置文件中指定要使用的默认参数值的环境名称。默认值为“default”。有关配置文件的详细信息，请参阅 [AWS SAMCLI 配置文件](serverless-sam-cli-config.md)。

`--config-file PATH`  <a name="ref-sam-cli-local-start-lambda-options-config-file"></a>
包含要使用的默认参数值的配置文件的路径和文件名。在项目目录的根目录中，默认值为“samconfig.toml”。有关配置文件的详细信息，请参阅 [AWS SAMCLI 配置文件](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 SAMCLI，则可以指定远程主机的 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>
可选。指定在指定 `--warm-containers` 时应用调试选项的 Lambda 函数。此参数适用于 `--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 在远程计算机上运行，则必须在 Docker 计算机上挂载 AWS SAM 文件所在的路径，并修改此值以匹配远程计算机。

`--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 是否应重建用于调用包含层的函数的映像。

`--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 SAMCLI 格式为显式密钥和值关键字，每个覆盖都用空格分隔。以下是两个示例：  
+ `--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 是否应跳过下拉最新 Docker 映像获取 Lambda 运行时的操作。

`--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>
将 AWS SAM CLI 与 Terraform Cloud 配合使用时本地 Terraform 计划文件的相对路径或绝对路径。此选项要求将 `--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 命令行界面 (AWS SAMCLI) `sam logs` 命令的参考信息。

有关简介 AWS SAMCLI，请参阅 [那是什么 AWS SAMCLI？](what-is-sam-overview.md#what-is-sam-cli)

该`sam logs`命令会获取您的 AWS Lambda 函数生成的日志。

## 用法
<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>
在配置文件中指定要使用的默认参数值的环境名称。默认值为“default”。有关配置文件的详细信息，请参阅 [AWS SAMCLI 配置文件](serverless-sam-cli-config.md)。

`--config-file PATH`  <a name="sam-cli-command-reference-sam-logs-options-config-file"></a>
包含要使用的默认参数值的配置文件的路径和文件名。在项目目录的根目录中，默认值为“samconfig.toml”。有关配置文件的详细信息，请参阅 [AWS SAMCLI 配置文件](serverless-sam-cli-config.md)。

`--cw-log-group LIST`  <a name="sam-cli-command-reference-sam-logs-options-cw-log-group"></a>
包括您指定的 CloudWatch 日志日志组中的日志。如果同时指定此选项`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 Logs 支持的 CloudWatch 模式。有关语法，请参阅 [Amazon CloudWatch 日志文档](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 模板中函数资源的逻辑 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 S3) Simple Service。 AWS SAM 为存储在 Amazon S3 中的所有文件启用加密。然后，它会返回您的 AWS SAM 模板副本，将对本地项目的引用替换为命令上传项目的 Amazon S3 位置。

默认情况下，当您使用此命令时， AWS SAM CLI 会假设当前工作目录是项目的根目录。 AWS SAMCLI第一个尝试查找使用[sam build](sam-cli-command-reference-sam-build.md)命令构建的模板文件，该文件位于`.aws-sam`子文件夹中并命名`template.yaml`。接下来， AWS SAM CLI 尝试在当前工作目录中查找名为 `template.yaml` 或 `template.yml` 的模板文件。如果您指定该`--template`选项， AWS SAMCLI则其默认行为将被覆盖，并且只会打包该 AWS SAM 模板及其指向的本地资源。

**注意**  
[sam deploy](sam-cli-command-reference-sam-deploy.md) 现在隐式执行 `sam package` 的功能。您可以直接使用 [sam deploy](sam-cli-command-reference-sam-deploy.md) 命令打包和部署应用程序。

## 用法
<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**  <a name="sam-cli-command-reference-sam-package-args-resource-id"></a>
要打包的 Lambda 函数的 ID。  
此参数是可选的。如果您的应用程序包含单个 Lambda 函数，则 CL AWS SAM I 会将其打包。如果应用程序包含多个函数，请提供用于打包单个函数的函数 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>
在配置文件中指定要使用的默认参数值的环境名称。默认值为“default”。有关配置文件的详细信息，请参阅 [AWS SAMCLI 配置文件](serverless-sam-cli-config.md)。

`--config-file PATH`  <a name="sam-cli-command-reference-sam-package-options-config-file"></a>
包含要使用的默认参数值的配置文件的路径和文件名。在项目目录的根目录中，默认值为“samconfig.toml”。有关配置文件的详细信息，请参阅 [AWS SAMCLI 配置文件](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 托管的加密密钥。

`--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>
（可选）用于签署部署包的签名配置文件列表。此参数采用键值对列表，其中密钥是要签名的函数或层的名称，值是签名配置文件，可选的配置文件所有者用 `:` 分隔。例如 `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 SAMCLI) `sam local pipeline bootstrap` 子命令的参考信息。

有关简介 AWS SAMCLI，请参阅 [那是什么 AWS SAMCLI？](what-is-sam-overview.md#what-is-sam-cli)

该`sam pipeline bootstrap`子命令生成连接到 CI/CD 系统所需的 AWS 基础架构资源。在运行 **sam pipeline init** 命令之前，必须针对管道中的每个部署阶段运行此步骤。

此子命令设置以下 AWS 基础架构资源：
+ 可选择通过以下方式配置管道权限：
  + 具有访问密钥 ID 和私有密钥访问凭证的管道 IAM 用户，将与 CI/CD 系统共享。
**注意**  
我们建议定期轮换访问密钥。有关更多信息，请参阅*《IAM 用户指南》*中的[对于需要长期凭证的使用场景定期轮换访问密钥](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#rotate-credentials)。
  + 通过 OIDC 支持的 CI/CD 平台。有关在 AWS SAM 管道中使用 OIDC 的介绍，请转到 [如何对管道使用 OIDC 身份验证 AWS SAM](deploying-with-oidc.md)。
+ 由担任的 CloudFormation 用于部署 AWS SAM 应用程序的 CloudFormation 执行 IAM 角色。
+ 用于存放 AWS SAM 工件的 Amazon S3 存储桶。
+ （可选）用于存放容器映像 Lambda 部署包的 Amazon ECR 映像存储库（如果资源为 `Image` 包类型）。

## 用法
<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>
存放工件的 Amazon S3 存储桶的 ARN。 AWS SAM 

`--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 SAMCLI 配置文件](serverless-sam-cli-config.md)。

`--config-file PATH`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-config-file"></a>
包含要使用的默认参数值的配置文件的路径和文件名。在项目目录的根目录中，默认值为 `samconfig.toml`。有关配置文件的详细信息，请参阅 [AWS SAMCLI 配置文件](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 操作 OIDC 获取权限。

`--github-org TEXT`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-github-org"></a>
存储库所属的 GitHub 组织。如果不存在任何组织，请输入存储库所有者的用户名。此选项特定于使用 GitHub操作 OIDC 获取权限。

`--github-repo TEXT`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-github-repo"></a>
将从中进行部署的 GitHub 存储库的名称。此选项特定于使用 GitHub 操作 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>
与系统共享访问密钥 ID 和私有访问密钥的 IAM 用户的亚马逊资源名称 (ARN)。 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 SAMCLI：使用生成的事件进行本地测试，方法是`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 SAMCLI) `sam pipeline init` 子命令的参考信息。

有关简介 AWS SAMCLI，请参阅 [那是什么 AWS SAMCLI？](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** 命令创建的资源。

## 用法
<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 SAMCLI 配置文件](serverless-sam-cli-config.md)。

`--config-file TEXT`  <a name="sam-cli-command-reference-sam-pipeline-init-options-config-file"></a>
包含要使用的默认参数值的配置文件的路径和文件名。在项目根目录中，默认值为 `samconfig.toml`。有关配置文件的详细信息，请参阅 [AWS SAMCLI 配置文件](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 命令行界面 (AWS SAMCLI) `sam publish` 命令的参考信息。

有关简介 AWS SAMCLI，请参阅 [那是什么 AWS SAMCLI？](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 SAMCLI 发布应用程序](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 之前，必须将它们单独发布到中。

## 用法
<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>
在配置文件中指定要使用的默认参数值的环境名称。默认值为“default”。有关配置文件的详细信息，请参阅 [AWS SAMCLI 配置文件](serverless-sam-cli-config.md)。

`--config-file PATH`  <a name="sam-cli-command-reference-sam-publish-options-config-file"></a>
包含要使用的默认参数值的配置文件的路径和文件名。在项目目录的根目录中，默认值为“`samconfig.toml`”。有关配置文件的详细信息，请参阅 [AWS SAMCLI 配置文件](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 命令行界面 (AWS SAMCLI) `sam remote callback` 命令的参考信息。

有关简介 AWS SAMCLI，请参阅 [那是什么 AWS SAMCLI？](what-is-sam-overview.md#what-is-sam-cli)

该`sam remote callback`命令允许您向在 Lamb AWS da 中运行的远程持久函数执行发送回调。

**注意**  
这些命令需要访问 AWS 凭证。

## 用法
<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 凭证。

## 用法
<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`  
启用/禁用测试版功能。

`--debug`  
打开调试日志以打印 AWS SAM CLI 生成的调试消息并显示时间戳。

`-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 凭证。

## 用法
<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`  
启用/禁用测试版功能。

`--debug`  
打开调试日志以打印 AWS SAM CLI 生成的调试消息并显示时间戳。

`-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 凭证。

## 用法
<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`  
启用/禁用测试版功能。

`--debug`  
打开调试日志以打印 AWS SAM CLI 生成的调试消息并显示时间戳。

`-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 命令行界面 (AWS SAMCLI) `sam remote execution` 命令的参考信息。

有关简介 AWS SAMCLI，请参阅 [那是什么 AWS SAMCLI？](what-is-sam-overview.md#what-is-sam-cli)

该`sam remote execution`命令允许您管理和检查在 AWS Lambda 中运行的远程持久函数执行。

**注意**  
这些命令需要访问 AWS 凭证。

## 用法
<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 应采用 Invoke 返回的格式或在执行日志中找到的格式。

**注意**  
此命令需要访问 AWS 凭证。

## 用法
<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 资源名称 (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`  
启用/禁用测试版功能。

`--debug`  
打开调试日志以打印 AWS SAM CLI 生成的调试消息并显示时间戳。

`-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 凭证。

## 用法
<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 资源名称 (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`  
启用/禁用测试版功能。

`--debug`  
打开调试日志以打印 AWS SAM CLI 生成的调试消息并显示时间戳。

`-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 凭证。

## 用法
<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 资源名称 (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`  
启用/禁用测试版功能。

`--debug`  
打开调试日志以打印 AWS SAM CLI 生成的调试消息并显示时间戳。

`-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 命令行界面 (AWS SAMCLI) `sam remote invoke` 命令的参考信息。
+ 有关简介 AWS SAMCLI，请参阅 [那是什么 AWS SAMCLI？](what-is-sam-overview.md#what-is-sam-cli)
+ 有关使用该 AWS SAMCLI`sam remote invoke`命令的文档，请参阅[使用 sam remote invoke 在云中测试简介](using-sam-cli-remote-invoke.md)。

`sam remote invoke` 命令调用 AWS 云中支持的资源。

## 用法
<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**  <a name="sam-cli-command-reference-remote-invoke-args-resource-id"></a>
要调用的支持资源的 ID。  
此参数接受以下值：  
+ **Amazon 资源名称（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`选项的堆栈名称，则 AWS SAM CLI 将尝试使用以下逻辑自动调用 CloudFormation 堆栈中的资源：  

1.  AWS SAM CLI将按以下顺序识别资源类型，并在堆栈中找到资源类型后进入下一步：

   1. Lambda

   1. Step Functions

   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 应用程序**的堆栈 — 由于堆栈包含单个 Lambda 资源，因此将 AWS SAM CLI找到 Lambda 函数并将其调用。
+ **包含单个 Amazon SQS 队列和两个 Kinesis Data Streams 应用程序的堆栈** — 由于该堆栈包含单个亚马逊 SQS 队列，因此 AWS SAM CLI将找到亚马逊 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>
允许或拒绝测试版功能。

`--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 SAMCLI

```
$ sam remote invoke--debug
```

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

本页提供 AWS Serverless Application Model 命令行界面 (AWS SAMCLI) `sam remote test-event` 命令的参考信息。
+ 有关简介 AWS SAMCLI，请参阅 [那是什么 AWS SAMCLI？](what-is-sam-overview.md#what-is-sam-cli)
+ 有关使用该 AWS SAMCLI`sam remote test-event`命令的文档，请参阅[使用 sam remote test-event 进行云测试简介](using-sam-cli-remote-test-event.md)。

该`sam remote test-event`命令与 Amazon EventBridge 架构注册表中的可共享测试事件进行交互。

## 用法
<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 SAMCLI) `sam remote test-event delete` 子命令的参考信息。
+ 有关简介 AWS SAMCLI，请参阅 [那是什么 AWS SAMCLI？](what-is-sam-overview.md#what-is-sam-cli)
+ 有关使用该 AWS SAMCLI`sam remote test-event`命令的文档，请参阅[使用 sam remote test-event 进行云测试简介](using-sam-cli-remote-test-event.md)。

该`sam remote test-event delete`子命令从 Amazon EventBridge 架构注册表中删除可共享的测试事件。

## 用法
<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**  <a name="sam-cli-command-reference-remote-test-event-delete-args-resource-id"></a>
与可共享测试事件关联的 AWS Lambda 函数的 ID。  
如果您提供逻辑 ID，则还必须使用选项为与 Lambda 函数关联的 AWS CloudFormation 堆栈提供一个值。`--stack-name`  
*有效值*：资源的逻辑 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>
在配置文件中指定要使用的默认参数值的环境名称。默认值为“default”。有关配置文件的详细信息，请参阅 [AWS SAMCLI 配置文件](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 SAMCLI 配置文件](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 SAMCLI) `sam remote test-event get` 子命令的参考信息。
+ 有关简介 AWS SAMCLI，请参阅 [那是什么 AWS SAMCLI？](what-is-sam-overview.md#what-is-sam-cli)
+ 有关使用该 AWS SAMCLI`sam remote test-event`命令的文档，请参阅[使用 sam remote test-event 进行云测试简介](using-sam-cli-remote-test-event.md)。

该`sam remote test-event get`子命令从 Amazon EventBridge 架构注册表中获取一个可共享的测试事件。

## 用法
<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**  <a name="sam-cli-command-reference-remote-test-event-get-args-resource-id"></a>
与要获取的可共享测试事件关联的 AWS Lambda 函数的 ID。  
如果您提供逻辑 ID，则还必须使用选项为与 Lambda 函数关联的 AWS CloudFormation 堆栈提供一个值。`--stack-name`  
*有效值*：资源的逻辑 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>
在配置文件中指定要使用的默认参数值的环境名称。默认值为“default”。有关配置文件的详细信息，请参阅 [AWS SAMCLI 配置文件](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 SAMCLI 配置文件](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 SAMCLI) `sam remote test-event list` 子命令的参考信息。
+ 有关简介 AWS SAMCLI，请参阅 [那是什么 AWS SAMCLI？](what-is-sam-overview.md#what-is-sam-cli)
+ 有关使用该 AWS SAMCLI`sam remote test-event`命令的文档，请参阅[使用 sam remote test-event 进行云测试简介](using-sam-cli-remote-test-event.md)。

该`sam remote test-event list`子命令列出了 Amazon EventBridge 架构注册表中特定 AWS Lambda 函数的现有可共享测试事件。

## 用法
<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**  <a name="sam-cli-command-reference-remote-test-event-list-args-resource-id"></a>
与可共享测试事件关联的 Lambda 函数的 ID。  
如果您提供逻辑 ID，则还必须使用选项为与 Lambda 函数关联的 AWS CloudFormation 堆栈提供一个值。`--stack-name`  
*有效值*：资源的逻辑 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>
在配置文件中指定要使用的默认参数值的环境名称。默认值为“default”。有关配置文件的详细信息，请参阅 [AWS SAMCLI 配置文件](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 SAMCLI 配置文件](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 SAMCLI) `sam remote test-event put` 子命令的参考信息。
+ 有关简介 AWS SAMCLI，请参阅 [那是什么 AWS SAMCLI？](what-is-sam-overview.md#what-is-sam-cli)
+ 有关使用该 AWS SAMCLI`sam remote test-event`命令的文档，请参阅[使用 sam remote test-event 进行云测试简介](using-sam-cli-remote-test-event.md)。

该`sam remote test-event put`子命令将本地计算机上的可共享测试事件保存到 Amazon EventBridge 架构注册表中。

## 用法
<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**  <a name="sam-cli-command-reference-remote-test-event-put-args-resource-id"></a>
与可共享测试事件关联的 AWS Lambda 函数的 ID。  
如果您提供逻辑 ID，则还必须使用选项为与 Lambda 函数关联的 AWS CloudFormation 堆栈提供一个值。`--stack-name`  
*有效值*：资源的逻辑 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>
在配置文件中指定要使用的默认参数值的环境名称。默认值为“default”。有关配置文件的详细信息，请参阅 [AWS SAMCLI 配置文件](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 SAMCLI 配置文件](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 命令行界面 (AWS SAMCLI) `sam sync` 命令的参考信息。
+ 有关简介 AWS SAMCLI，请参阅 [那是什么 AWS SAMCLI？](what-is-sam-overview.md#what-is-sam-cli)
+ 有关使用的文档 AWS SAMCLI，请参阅[AWS SAM CLI](using-sam-cli.md)。

`sam sync` 命令将本地应用程序的更改同步到 AWS 云。

## 用法
<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>
根据此目录解析函数或层的源代码的相对路径。使用此选项更改源代码文件夹相对路径的解析方式。默认情况下，相对路径是根据 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 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`
要同步代码资源，请 APIs 直接 AWS SAM 使用 AWS 服务，而不是通过部署 AWS CloudFormation。要更新您的 CloudFormation 堆栈，请运行**sam sync --watch**或**sam deploy**。

`--config-env TEXT`  <a name="sam-cli-command-reference-sam-sync-options-config-env"></a>
在配置文件中指定要使用的默认参数值的环境名称。默认值为“default”。有关配置文件的详细信息，请参阅 [AWS SAMCLI 配置文件](serverless-sam-cli-config.md)。

`--config-file PATH`  <a name="sam-cli-command-reference-sam-sync-options-config-file"></a>
包含要使用的默认参数值的配置文件的路径和文件名。在项目目录的根目录中，默认值为“`samconfig.toml`”。有关配置文件的详细信息，请参阅 [AWS SAMCLI 配置文件](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>
 AWS Key Management Service (AWS KMS) 密钥的 ID，用于对 Amazon S3 存储桶中的静态项目进行加密。如果您未指定此选项，则 AWS SAM 使用 Amazon S3 托管的加密密钥。

`--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>
与堆栈关联的亚马逊简单通知服务 (Amazon SNS) Service ARNs 主题 CloudFormation 列表。

`--no-use-container`  <a name="ref-sam-cli-sync-options-no-use-container"></a>
让您可以使用 IDE toolkit 来设置默认行为的选项。

`--parameter-overrides`  <a name="sam-cli-command-reference-sam-sync-options-parameter-overrides"></a>
包含编码为键值对的 CloudFormation 参数覆盖的字符串。使用与 AWS Command Line Interface (AWS CLI) 相同的格式。 AWS SAMCLI 格式为显式密钥和值关键字，每个覆盖都用空格分隔。以下是两个示例：  
+ `--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 资源名称 (ARN)。

`--s3-bucket TEXT`  <a name="sam-cli-command-reference-sam-sync-options-s3-bucket"></a>
此命令用于上传 CloudFormation 模板的亚马逊简单存储服务 (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 SAMCLI会将您的本地 AWS SAM 模板与已部署的 CloudFormation 模板进行比较，并且仅在检测到更改时才执行部署。  
指定`--no-skip-deploy-sync`每次运行时`sam 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 CloudFormation 用于在更新 AWS SAM 模板时更新基础架构资源。

`--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 sync 命令的选项](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 命令行界面 (AWS SAMCLI) `sam traces` 命令的参考信息。

有关简介 AWS SAMCLI，请参阅 [那是什么 AWS SAMCLI？](what-is-sam-overview.md#what-is-sam-cli)

该`sam traces`命令将在中获取您的 AWS X-Ray AWS 账户 痕迹。 AWS 区域

## 用法
<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>
在配置文件中指定要使用的默认参数值的环境名称。默认值为“default”。有关配置文件的详细信息，请参阅 [AWS SAMCLI 配置文件](serverless-sam-cli-config.md)。

`--config-file PATH`  <a name="sam-cli-command-reference-sam-traces-options-config-file"></a>
包含要使用的默认参数值的配置文件的路径和文件名。在项目目录的根目录中，默认值为“`samconfig.toml`”。有关配置文件的详细信息，请参阅 [AWS SAMCLI 配置文件](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 命令行界面 (AWS SAMCLI) `sam validate` 命令的参考信息。

有关简介 AWS SAMCLI，请参阅 [那是什么 AWS SAMCLI？](what-is-sam-overview.md#what-is-sam-cli)

该`sam validate`命令验证 AWS SAM 模板文件是否有效。

## 用法
<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>
在配置文件中指定要使用的默认参数值的环境名称。默认值为“default”。有关配置文件的详细信息，请参阅 [AWS SAMCLI 配置文件](serverless-sam-cli-config.md)。

`--config-file PATH`  <a name="sam-cli-command-reference-sam-validate-options-config-file"></a>
包含要使用的默认参数值的配置文件的路径和文件名。在项目目录的根目录中，默认值为“samconfig.toml”。有关配置文件的详细信息，请参阅 [AWS SAMCLI 配置文件](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>
 通过 **cfn-lint** 对模板运行检查验证。创建 `cfnlintrc` 配置文件以指定其他参数。*有关更多信息，请参阅存储库中的 [cfn-lint](https://github.com/aws-cloudformation/cfn-lint)。CloudFormation GitHub *

`--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)。