我正在使用无服务器技术将我的API部署在AWS上。
使用无服务器技术,可以部署单个函数:
sls deploy -f <function name>
但它不允许移除单个函数:
sls remove // will remove all functions.
有没有办法删除单个函数而不影响其他函数?
我正在使用无服务器技术将我的API部署在AWS上。
使用无服务器技术,可以部署单个函数:
sls deploy -f <function name>
但它不允许移除单个函数:
sls remove // will remove all functions.
@justin.m.chase建议:
只需在serverless.yml文件中删除该函数,然后运行完整的部署。
sls deploy
这个函数被删除了(Lambda + API Gateway)。太完美了!
sls deploy
命令。重新部署花费了很长时间,我一度以为出了问题,但最终它还是成功了,Lambda函数也被删除了。再次提醒大家注意:不要在AWS GUI中手动删除,否则会引起很多问题。 - Rebecca Sich我知道这可能有点过时,但无服务器编程的部署问题仍然很明显。
最近我开发了一个CLI工具,可以利用AWS sam cli(因此命名为Rocketsam)在AWS中构建微服务。
该CLI工具使每个函数都能够进行缓存(如果只更改了一个函数代码,则无需对整个微服务进行全面部署)。 它还具有其他功能,如将模板文件分割到每个函数,跨函数共享代码,获取日志等 :)
https://www.npmjs.com/package/rocketsam
目前,cli仅支持在Python 3.6中构建函数,但根据需求,未来可以轻松扩展。
正如Peter Pham所说,从serverless.yml中删除该函数并进行完整操作:
sls deploy
如果您尝试在 AWS 中手动删除函数,会导致很多麻烦。
我知道这个问题已经超过一年并且已经关闭了,但是正确删除单个函数的方法是通过指定函数名称来执行的,你几乎已经做对了:
sls remove -f <函数名称>
-f
,但感谢回答。已点赞! - Anum Sheraz