在成功的sls remove之后,所有sls命令都会失败
不存在带有id X的堆栈
检查了堆栈,删除了其他堆栈和S3部署桶。尝试删除.serverless/,但没有帮助。
发布于 2018-06-13 12:04:05
问题是,${cf:...}语法需要现有CloudFormation堆栈的输出,而且当您尚未部署项目时,堆栈及其输出还不存在。
如果您需要从“当前”堆栈中访问该输出,则应该查看Serverless如何定义输出(本例来自我的一个项目):
"ServiceEndpoint":{
"Description": "URL of the service endpoint",
"Value": {"Fn::Join":["", [
"https://",
{"Ref":"ApiGatewayRestApi"},
".execute-api.eu-central-1.",
{"Ref":"AWS::URLSuffix"},"/dev"]]}
}您可以在需要它的地方使用相同的语法在自己的堆栈中“生成”该值,将动态部分替换为像${self:provider.region}和${self:provider.stage}这样的Serverless变量,或者任何您的项目选择替代它们的变量。例如,要将其添加到Lambda环境中:
provider:
environment:
SERVICE_ENDPOINT: {"Fn::Join":["", [
"https://",
{"Ref":"ApiGatewayRestApi"},
".execute-api.${self:provider.region}.",
{"Ref":"AWS::URLSuffix"},
"/${self:provider.stage}"]]}发布于 2018-09-26 18:30:30
在我的例子中,我手动删除了cloudformation堆栈,并运行了sls deploy -s <stage> --force,它工作了。
https://stackoverflow.com/questions/50832013
复制相似问题