如何在SAM模板中设置AWS Stack名称?(针对Lambda Layer)
关于SAM模板中设置CloudFormation栈名称的问题
核心结论
不能直接在SAM模板(.yml文件)中设置栈名称。栈名称是CloudFormation创建/部署栈时的外部标识参数,不属于模板本身的配置范畴——模板负责定义栈内包含的资源(比如你用到的Lambda Layer),而栈名称是用来区分不同栈的全局标识,必须在部署阶段指定。
针对仅含Lambda Layer的栈的说明
这种场景没有特殊影响,不管栈内仅包含Lambda Layer,还是同时包含Lambda函数、API Gateway等其他资源,栈名称的设置逻辑完全一致:都无法在模板内定义,必须在部署时通过外部参数指定。
部署时指定栈名称的常用方式
你提到的CloudFormation CLI方式是可行的,另外针对SAM项目,更常用的是SAM CLI命令:
- CloudFormation CLI命令示例:
aws cloudformation create-stack --stack-name myteststack --template-body file://your-sam-template.yml
- SAM CLI命令示例:
sam deploy --stack-name myteststack --template-file your-sam-template.yml
内容的提问来源于stack exchange,提问作者glenpierceworkday
相关产品推荐
相关产品推荐

