sam deploy - Amazon Serverless Application Model
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

sam deploy

此页面提供了 Amazon Serverless Application Model 命令行界面(Amazon SAM CLI) sam deploy 命令的参考信息。

sam deploy 命令使用 Amazon CloudFormation 将应用程序部署到 Amazon Web Services 云。

使用量

$ <environment variables> sam deploy <options>

环境变量

SAM_CLI_POLL_DELAY

指定 DescribeStack API 调用之间的延迟,以秒为单位。

以下是 示例:

$ SAM_CLI_POLL_DELAY=5 sam deploy

Options

--capabilities LIST

为了使 Amazon CloudFormation 能够创建某些堆栈而必须指定的功能列表。一些堆栈模板可能包含影响您的 Amazon Web Services 账户 中权限的资源,例如,通过创建新的 Amazon Identity and Access Management (IAM) 用户。对于这些堆栈,您必须通过指定此选项来明确确认它们的功能。有效值仅为 CAPABILITY_IAMCAPABILITY_NAMED_IAM。如果有 IAM 资源,则您可以指定任意一个功能。如果有具有自定义名称的 IAM 资源,则必须指定 CAPABILITY_NAMED_IAM。如果不指定此选项,则操作会返回 InsufficientCapabilities 错误。

--config-env TEXT

在配置文件中指定要使用的默认参数值的环境名称。默认值为 default。有关配置文件的详细信息,请参阅 Amazon SAMCLI 配置文件

--config-file PATH

包含要使用的默认参数值的配置文件的路径和文件名。在项目目录的根目录中,默认值为 samconfig.toml。有关配置文件的详细信息,请参阅 Amazon SAMCLI 配置文件

--confirm-changeset | --no-confirm-changeset

提示您确认 Amazon SAM CLI 是否部署了计算的变更集。

--debug

启用调试日志记录,以打印 Amazon SAM CLI 生成的调试消息并显示时间戳。

--disable-rollback | --no-disable-rollback

指定当部署期间出现错误时是否要回滚 Amazon CloudFormation 堆栈。默认情况下,如果部署期间出现错误,Amazon CloudFormation 堆栈会回滚到上一个稳定状态。如果指定 --disable-rollback,当部署期间出现错误时,则在错误出现之前创建或更新的资源不会回滚。

--fail-on-empty-changeset | --no-fail-on-empty-changeset

指定在未对堆栈进行任何更改时是否要返回非零退出代码。默认行为是返回非零退出代码。

--force-upload

指定此选项可上传构件,即使要上传的构件与 Amazon S3 存储桶中的现有构件匹配。匹配的构件会被覆盖。

--guided, -g

指定此选项后,Amazon SAM CLI 就会使用提示来指导您完成部署。

--help

显示此消息并退出。

--image-repositories TEXT

函数与其 Amazon ECR 存储库 URI 之间的映射。通过逻辑 ID 引用函数。以下是 示例:

$ sam deploy --image-repositories Function1=123456789012.dkr.ecr.us-east-1.amazonaws.com/my-repo

您可以在单个命令中多次指定此选项。

--image-repository TEXT

此命令用于上传函数映像的 Amazon ECR 存储库的名称。对于使用 Image 包类型声明的函数,必须使用此选项。

--kms-key-id TEXT

用于加密 Amazon S3 存储桶中静态构件的 Amazon Key Management Service (Amazon KMS) 密钥的 ID。如果不指定此选项,则 Amazon SAM 会使用 Amazon S3 托管加密密钥。

--metadata

要附加到模板中引用的所有构件的元数据的映射。

--no-execute-changeset

指示是否要应用变更集。如果要在应用变更集之前查看堆栈更改,请指定此选项。此命令会创建 Amazon CloudFormation 变更集,然后退出而不应用变更集。要应用变更集,请在不使用此选项的情况下运行同一命令。

--no-progressbar

将构件上传到 Amazon S3 时不显示进度条。

--notification-arns LIST

Amazon CloudFormation 与堆栈关联的 Amazon Simple Notification Service (Amazon SNS) 主题 ARN 列表。

--on-failure [ROLLBACK | DELETE | DO_NOTHING]

指定堆栈创建失败时要采取的操作。

以下选项可用:

  • ROLLBACK - 将堆栈回滚到上一个已知良好状态。

  • DELETE - 将堆栈回滚到上一个已知良好状态(如果存在)。否则,删除堆栈。

  • DO_NOTHING - 既不回滚堆栈,也不删除堆栈。其效果与 --disable-rollback 相同。

默认行为是 ROLLBACK

注意

您可以指定 --disable-rollback 选项或 --on-failure 选项,但不能同时指定两者。

--parameter-overrides

包含编码为键值对的 Amazon CloudFormation 参数覆盖的字符串。使用与 Amazon Command Line Interface (Amazon CLI) 相同的格式。例如,ParameterKey=ParameterValue InstanceType=t1.micro

--profile TEXT

凭证文件中用于获取 Amazon 凭证的特定配置文件。

--region TEXT

部署至其中的 Amazon Web Services 区域。例如,us-east-1。

--resolve-image-repos

自动创建 Amazon ECR 存储库,用于打包和部署非指导式部署。此选项仅适用于指定了 PackageType: Image 的函数和层。如果指定 --guided 选项,则 Amazon SAM CLI 会忽略 --resolve-image-repos

注意

如果 Amazon SAM 使用此选项自动为函数或层创建任何 Amazon ECR 存储库,在您以后从 Amazon SAM 模板中删除这些函数或层时,则相应的 Amazon ECR 存储库将被自动删除。

--resolve-s3

自动创建 Amazon S3 存储桶,用于打包和部署非指导式部署。如果指定 --guided 选项,则 Amazon SAM CLI 会忽略 --resolve-s3。如果同时指定 --s3-bucket--resolve-s3 选项,则会出现错误。

--role-arn TEXT

应用变更集时 Amazon CloudFormation 担任的 IAM 角色的 Amazon 资源名称(ARN)。

--s3-bucket TEXT

此命令用于上传 Amazon CloudFormation 模板的 Amazon S3 存储桶的名称。如果模板大于 51,200 字节,则需要 --s3-bucket--resolve-s3 选项。如果同时指定 --s3-bucket--resolve-s3 选项,则会出现错误。

--s3-prefix TEXT

上传到 Amazon S3 存储桶的构件的名称中添加的前缀。前缀名称是 Amazon S3 存储桶的路径名称(文件夹名称)。

--save-params

将您在命令行中提供的参数保存到 Amazon SAM 配置文件中。

--signing-profiles LIST

用于签署部署包的签名配置文件的列表。此选项采用键值对列表,其中密钥是要签名的函数或层的名称,值是签名配置文件,可选的配置文件所有者用 : 分隔。例如,FunctionNameToSign=SigningProfileName1 LayerNameToSign=SigningProfileName2:SigningProfileOwner

--stack-name TEXT

(必需)您要部署到的 Amazon CloudFormation 堆栈的名称。如果指定现有堆栈,则该命令将更新堆栈。如果指定新堆栈,则该命令将创建它。

--tags LIST

列出要与已创建或更新的堆栈关联的标签。Amazon CloudFormation 还会将这些标签传播到堆栈中支持它的资源。

--template-file, --template, -t PATH

Amazon SAM 模板所在位置的路径和文件名。

注意

如果指定此选项,则 Amazon SAM 只会部署模板及其指向的本地资源。

--use-json

Amazon CloudFormation 模板的输出 JSON。默认输出为 YAML。