AWS Cloud9:一次只部署一个Lambda函数

时间:2018-03-29 03:52:35

标签: amazon-web-services deployment aws-lambda cloud9 aws-cloud9

我正在尝试使用AWS Cloud9部署Lambda函数。当我按下部署时,我的所有功能都会同时部署/同步,而不仅仅是我在部署时选择的功能。右键单击该功能并按下部署时也是如此。我发现这很烦人,想知道是否有任何解决方法?

2 个答案:

答案 0 :(得分:2)

单击部署时,Cloud9会在后台aws cloudformation package文件上运行aws cloudformation deploytemplate.yaml。 (来源:我为AWS Cloud9开发了Lambda集成)。

由于所有文件都捆绑在一个无服务器应用程序中,并且只有一个CloudFormation堆栈,因此只能使用CloudFormation一次部署它们。

如果您只对一个功能进行代码更改而不修改任何配置设置,则可以使用以下命令从命令行更新该功能:

zip -r - . | aws lambda update-function-code --function-name <function-name>`

在与template.yaml文件相同的文件夹中运行此文件,将<function-name>替换为cloud9-myapp-myfunction-ABCD1234的完整生成名称(您可以在AWS的远程功能列表下看到全名)资源小组)。

答案 1 :(得分:1)

在AWS Cloud9中,Lambda函数在无服务器应用程序中创建,因此通过CloudFormation进行部署。使用CloudFormation,可以立即部署整个堆栈,因此所有功能都部署在一起(有关详细信息,请参阅this discussion)。