我正在尝试通过无服务器CLI部署无服务器功能,并且出现以下错误:
发生错误:GenerateDownloadLinkLambdaFunction-函数不存在 找到:
奇怪的是,我已经将此功能部署到了另一个阶段qa
,并且也很好地部署了,但是对于dev
来说,它只是抛出了上面的错误。
如果我尝试从AWS控制台手动创建该功能并进行部署,则Lambda功能菜单会显示该功能已在X秒钟前部署,但是它不显示我在{{1}中拥有的任何设置}文件保存在我的计算机上。
值得注意的是,我已经设法在serverless.yml
阶段部署了此功能,但是我不小心删除了它。从那以后,它拒绝重新部署。
关于我做错了什么,我一直在撞墙,但什么也没发现,以前有人遇到过Serverless的类似问题吗?
答案 0 :(得分:3)
我遇到了无服务器问题。此问题是由无服务器如何处理,跟踪和部署功能引起的。删除该功能后,您实际上可以手动更改应用程序的状态,并且实际上是不同步的。
要解决此问题,请注释掉拒绝部署的功能,然后运行sls deploy
。完成后,取消注释该功能,然后再次sls deploy
。这次应该部署您的功能。
答案 1 :(得分:3)
使用 sls remove 从堆栈中删除所有内容,然后运行 sls deploy
答案 2 :(得分:0)
我有同样的问题。不记得是因为我更改了函数名称还是因为我添加了
apiGateway:
shouldStartNameWithService: true
在提供者部分到serverless.yml。 (我这样做是因为我想切换到the new API gateway naming)
Serverless仍在跟踪旧名称,因此为了重置此名称并能够再次部署,我执行了以下3个步骤:
此后,serverless deploy
命令再次起作用。
答案 3 :(得分:0)