sls deploy --stage dev
我得到这个错误:
✖ Error: Please specify a stack name using the --stack option, or persist it in the samconfig.toml file.
Context
:myserverless.yml
已经包含了
service
service: py-events
provider:
name: aws
以前工作,但突然开始失败。 我不是明确使用AWSsam,但是我的项目有一个文件。
depebuglogs:
template.yaml
getCfnConfig
?
在MISSING_STACK_NAME
中添加
service
在CLI中指定stage: dev
。
swer
当无服务器框架(或像AWS SAM这样的集成工具)无法解析CloudFormation堆栈名称时,就会发生这种错误。这是解决它的方法:
provider
和
serverless.yml
add--stack my-stack-dev
在service
stage
:stage
provider
serverless.yml
3。删除冲突的SAM文件(如果不使用SAM)
:
删除
${service}-${stage}
(SAM的配置文件)。 Remove
service: py-events
provider:
name: aws
stage: dev # 👈 Required for stack name resolution
region: us-east-1 # Optional but recommended
(如果存在)。无服务器框架将使用自己的堆栈命名逻辑。
创建/更新
serverless.yml
在您的项目root中:
provider:
name: aws
stackName: py-events-${sls:stage} # e.g., "py-events-dev"
template.yaml
samconfig.toml
为什么突然发生?
samconfig.toml
文件,则无服务器框架可能默认为SAM的部署逻辑,该逻辑需要显式堆栈名称。
:最近的更新可能改变了SAM和无服务器框架的交互方式。
version = 0.1
[default.deploy.parameters]
stack_name = "py-events-dev"
region = "us-east-1"
具有sls
sam deploy --config-file samconfig.toml
template.yaml
:
samconfig.toml
serverless.yml
,service
)。
deploy:
stage
参考: