本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
sam deploy
本页提供 Amazon Serverless Application Model 命令行界面的参考信息 (Amazon SAM CLI) sam deploy
命令。
-
有关简介 Amazon SAM CLI,请参阅 什么是 Amazon SAMCLI?
-
有关使用的文档 Amazon SAM CLI
sam deploy
命令,请参阅使用部署简介 Amazon SAM。
该sam deploy
命令向用户部署应用程序。 Amazon Web Services 云 Amazon CloudFormation
使用量
$
<environment variables>
sam deploy
<options>
环境变量
SAM_CLI_POLL_DELAY
-
在 shell 中将
SAM_CLI_POLL_DELAY
环境变量设置为秒,以配置 Amazon SAMCLI检查 Amazon CloudFormation 堆栈状态的频率,这在查看来自的限制时很有用。 Amazon CloudFormation此 env 变量用于轮询describe_stack
API呼叫,这些呼叫是在运行sam deploy
时进行的。以下是此变量的示例:
$
SAM_CLI_POLL_DELAY=
5
sam deploy
Options
--capabilities
LIST
-
必须指定才能创建特定堆栈 Amazon CloudFormation 的功能列表。某些堆栈模板可能包含影响您权限的资源 Amazon Web Services 账户,例如,通过创建新 Amazon Identity and Access Management (IAM) 用户来影响您的权限。对于这些堆栈,您必须通过指定此选项来明确确认它们的功能。有效值仅为
CAPABILITY_IAM
和CAPABILITY_NAMED_IAM
。如果您有IAM资源,则可以指定任一功能。如果您的IAM资源具有自定义名称,则必须指定CAPABILITY_NAMED_IAM
。如果不指定此选项,则操作会返回InsufficientCapabilities
错误。部署包含嵌套应用程序的应用程序时,您必须使用
CAPABILITY_AUTO_EXPAND
确认此应用程序包含嵌套应用程序。有关更多信息,请参阅 部署嵌套应用程序。 --config-env
TEXT
-
在配置文件中指定要使用的默认参数值的环境名称。默认值为
default
。有关配置文件的详细信息,请参阅 Amazon SAM CLI 配置文件。 --config-file
PATH
-
包含要使用的默认参数值的配置文件的路径和文件名。在项目目录的根目录中,默认值为
samconfig.toml
。有关配置文件的详细信息,请参阅 Amazon SAM CLI 配置文件。 --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 关联的亚马逊简单通知服务 (AmazonSNS) 主题ARNs列表。
--on-failure [ROLLBACK | DELETE | DO_NOTHING]
-
指定堆栈创建失败时要采取的操作。
以下选项可用:
-
ROLLBACK
- 将堆栈回滚到上一个已知良好状态。 -
DELETE
- 将堆栈回滚到上一个已知良好状态(如果存在)。否则,删除堆栈。 -
DO_NOTHING
- 既不回滚堆栈,也不删除堆栈。其效果与--disable-rollback
相同。
默认行为是
ROLLBACK
。注意
您可以指定
--disable-rollback
选项或--on-failure
选项,但不能同时指定两者。 -
--parameter-overrides
LIST
-
包含编码为键值对的 Amazon CloudFormation 参数覆盖的字符串。使用与 Amazon Command Line Interface (Amazon CLI) 相同的格式。的 Amazon SAM CLI format 是显式的键和值关键字,每个替换都用空格分隔。以下是两个示例:
$
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
-
您的凭证文件中用于获取 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 堆栈的名称。如果指定现有堆栈,则该命令将更新堆栈。如果指定新堆栈,则该命令将创建它。
-
要与已创建或更新的堆栈关联的标签列表。 Amazon CloudFormation 还会将这些标签传播到堆栈中支持它的资源。
--template-file, --template, -t
PATH
-
Amazon SAM 模板所在的路径和文件名。
注意
如果指定此选项,则仅 Amazon SAM 部署模板及其指向的本地资源。
--use-json
-
Amazon CloudFormation 模板JSON的输出。默认输出为YAML。
示例
有关使用 sam deploy
子命令的详细示例和深入演练,请参阅 使用部署简介 Amazon SAM。