本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
sam deploy
本页提供 AWS Serverless Application Model 命令行界面 (AWS SAMCLI) sam deploy 命令的参考信息。
-
有关简介 AWS SAMCLI,请参阅 那是什么 AWS SAMCLI?
-
有关使用该 AWS SAMCLI
sam deploy命令的文档,请参阅使用部署简介 AWS SAM。
该sam deploy命令向用户部署应用程序。 AWS Cloud AWS CloudFormation
用量
$<environment variables>sam deploy<options>
环境变量
SAM_CLI_POLL_DELAY-
在 shell 中将
SAM_CLI_POLL_DELAY环境变量设置为秒值,以配置 AWS SAM CLI 检查 AWS CloudFormation 堆栈状态的频率,这在查看来自的限制时很有用。 AWS CloudFormation此 env 变量用于轮询describe_stackAPI 调用,这些调用是在运行sam deploy时进行的。以下是此变量的示例:
$SAM_CLI_POLL_DELAY=5sam deploy
选项
--capabilitiesLIST-
必须指定才能创建特定堆栈 AWS CloudFormation 的功能列表。某些堆栈模板可能包含影响您权限的资源 AWS 账户,例如,通过创建新 AWS Identity and Access Management (IAM) 用户来影响您的权限。对于这些堆栈,您必须通过指定此选项来明确确认它们的功能。有效值仅为
CAPABILITY_IAM和CAPABILITY_NAMED_IAM。如果有 IAM 资源,则您可以指定任意一个功能。如果有具有自定义名称的 IAM 资源,则必须指定CAPABILITY_NAMED_IAM。如果不指定此选项,则操作会返回InsufficientCapabilities错误。部署包含嵌套应用程序的应用程序时,必须使用
CAPABILITY_AUTO_EXPAND来确认该应用程序包含嵌套应用程序。有关更多信息,请参阅 部署嵌套应用程序。 --config-envTEXT-
在配置文件中指定要使用的默认参数值的环境名称。默认值为
default。有关配置文件的详细信息,请参阅 AWS SAM CLI 配置文件。 --config-filePATH-
包含要使用的默认参数值的配置文件的路径和文件名。在项目目录的根目录中,默认值为
samconfig.toml。有关配置文件的详细信息,请参阅 AWS SAM CLI 配置文件。 --confirm-changeset | --no-confirm-changeset-
提示您确认 AWS SAM CLI 是否部署了计算的变更集。
--debug-
启用调试日志记录,以打印 AWS SAM CLI 生成的调试消息并显示时间戳。
--disable-rollback | --no-disable-rollback-
指定在部署期间发生错误时是否回滚 AWS CloudFormation 堆栈。默认情况下,如果部署期间出现错误,您的 AWS CloudFormation 堆栈会回滚到上一个稳定状态。如果指定
--disable-rollback,当部署期间出现错误时,则在错误出现之前创建或更新的资源不会回滚。 --fail-on-empty-changeset | --no-fail-on-empty-changeset-
指定在未对堆栈进行任何更改时是否要返回非零退出代码。默认行为是返回非零退出代码。
--force-upload-
指定此选项可上传构件,即使要上传的构件与 Amazon S3 存储桶中的现有构件匹配。匹配的构件会被覆盖。
--guided, -g-
指定此选项后, AWS SAM CLI 就会使用提示来指导您完成部署。
--help-
显示此消息并退出。
--image-repositoriesTEXT-
函数与其 Amazon ECR 存储库 URI 之间的映射。通过逻辑 ID 引用函数。以下是示例:
$sam deploy --image-repositoriesFunction1=123456789012.dkr.ecr.us-east-1.amazonaws.com/my-repo您可以在单个命令中多次指定此选项。
--image-repositoryTEXT-
此命令用于上传函数映像的 Amazon ECR 存储库的名称。对于使用
Image包类型声明的函数,必须使用此选项。 --kms-key-idTEXT-
AWS Key Management Service (AWS KMS) 密钥的 ID,用于对 Amazon S3 存储桶中的静态项目进行加密。如果您未指定此选项,则 AWS SAM 使用 Amazon S3 托管的加密密钥。
--metadata-
要附加到模板中引用的所有构件的元数据的映射。
--no-execute-changeset-
指示是否要应用变更集。如果要在应用变更集之前查看堆栈更改,请指定此选项。此命令会创建 AWS CloudFormation 变更集,然后退出而不应用变更集。要应用变更集,请在不使用此选项的情况下运行同一命令。
--no-progressbar-
将构件上传到 Amazon S3 时不显示进度条。
--notification-arnsLIST-
与堆栈关联的亚马逊简单通知服务 (Amazon SNS) Service ARNs 主题 AWS CloudFormation 列表。
--on-failure [ROLLBACK | DELETE | DO_NOTHING]-
指定堆栈创建失败时要采取的操作。
以下选项可用:
-
ROLLBACK- 将堆栈回滚到上一个已知良好状态。 -
DELETE- 将堆栈回滚到上一个已知良好状态(如果存在)。否则,删除堆栈。 -
DO_NOTHING- 既不回滚堆栈,也不删除堆栈。其效果与--disable-rollback相同。
默认行为是
ROLLBACK。注意
您可以指定
--disable-rollback选项或--on-failure选项,但不能同时指定两者。 -
--parameter-overridesLIST-
包含编码为键值对的 AWS CloudFormation 参数覆盖的字符串。每个覆盖都使用该格式
ParameterKey=name,ParameterValue=value。多个替换项用空格分隔。以下是两个示例:$sam deploy --parameter-overridesParameterKey=value1,ParameterValue=value2$sam deploy --parameter-overridesParameterKey=value1,ParameterValue=value2 ParameterKey=hello,ParameterValue=world ParameterKey=apple,ParameterValue=banana --profileTEXT-
您的凭证文件中用于获取 AWS 凭证的特定个人资料。
--regionTEXT-
AWS 区域 要部署到的。例如,us-east-1。
--resolve-image-repos-
自动创建 Amazon ECR 存储库,用于打包和部署非指导式部署。此选项仅适用于指定了
PackageType: Image的函数和层。如果指定--guided选项,则 AWS SAM CLI 会忽略--resolve-image-repos。注意
如果使用此选项 AWS SAM 自动为函数或层创建任何 Amazon ECR 存储库,而您随后从 AWS SAM 模板中删除了这些函数或层,则相应的 Amazon ECR 存储库将被自动删除。
--resolve-s3-
自动创建 Amazon S3 存储桶,用于打包和部署非指导式部署。如果指定
--guided选项,则 AWS SAM CLI 会忽略--resolve-s3。如果同时指定--s3-bucket和--resolve-s3选项,则会出现错误。 --role-arnTEXT-
应用变更集时 AWS CloudFormation 扮演的 IAM 角色的 Amazon 资源名称 (ARN)。
--s3-bucketTEXT-
此命令用于上传您的 AWS CloudFormation 模板的 Amazon S3 存储桶的名称。如果模板大于 51,200 字节,则需要
--s3-bucket或--resolve-s3选项。如果同时指定--s3-bucket和--resolve-s3选项,则会出现错误。 --s3-prefixTEXT-
上传到 Amazon S3 存储桶的构件的名称中添加的前缀。前缀名称是 Amazon S3 存储桶的路径名称(文件夹名称)。
--save-params-
将您在命令行中提供的参数保存到 AWS SAM 配置文件中。
--signing-profilesLIST-
用于签署部署包的签名配置文件的列表。此选项采用键值对列表,其中密钥是要签名的函数或层的名称,值是签名配置文件,可选的配置文件所有者用
:分隔。例如FunctionNameToSign=SigningProfileName1 LayerNameToSign=SigningProfileName2:SigningProfileOwner。 --stack-nameTEXT-
(必填)您要部署到的 AWS CloudFormation 堆栈的名称。如果指定现有堆栈,则该命令将更新堆栈。如果指定新堆栈,则该命令将创建它。
-
要与已创建或更新的堆栈关联的标签列表。 AWS CloudFormation 还会将这些标签传播到堆栈中支持它的资源。
--template-file, --template, -tPATH-
您的 AWS SAM 模板所在的路径和文件名。
注意
如果指定此选项,则仅 AWS SAM 部署模板及其指向的本地资源。
--use-json-
为 AWS CloudFormation 模板输出 JSON。默认输出为 YAML。
示例
有关使用 sam deploy 子命令的详细示例和深入演练,请参阅使用部署简介 AWS SAM。