无服务器:如何删除一个功能

时间:2018-06-15 13:12:57

标签: node.js amazon-web-services serverless

我使用无服务器在AWS上部署我的API。

在无服务器中,它允许部署单个功能:

sls deploy -f <function name>

但它不允许删除单个功能:

sls remove // will remove all functions.

有没有办法删除不会对其他功能产生影响的单一功能?

4 个答案:

答案 0 :(得分:8)

@ justin.m.chase建议:

只需删除serverless.yml中的函数,然后运行完全部署

sls deploy

删除该功能(Lambda + API Gateway)。 PERFECTO!

答案 1 :(得分:2)

我知道这个问题已有一年多的历史了,但是已经被关闭了,但是删除单个函数的正确方法是通过您几乎拥有的名字来指定它:

sls remove -f <function name>

答案 2 :(得分:0)

正如Peter Pham所说,从serverless.yml中删除该功能并执行完整操作:

sls deploy

如果您尝试在AWS中手动删除该功能,则会引起很多麻烦。

答案 3 :(得分:0)

我知道它有些旧,但是无服务器的部署痛苦仍然是一回事。

我最近开发了一个cli,它可以利用AWS sam cli(因此cli名称: Rocketsam )在AWS中构建微服务。

cli启用每个功能的缓存(如果仅更改一个功能代码,则不再完全部署到微服务)。 它还具有其他功能,例如将模板文件拆分为每个功能,在各个功能之间共享代码,获取日志等等:

https://www.npmjs.com/package/rocketsam

当前cli仅在python 3.6中支持构建功能,但将来可以根据需求轻松扩展。