我正在尝试使用AWS Cloud9部署Lambda函数。当我按下部署时,我的所有功能都会同时部署/同步,而不仅仅是我在部署时选择的功能。右键单击该功能并按下部署时也是如此。我发现这很烦人,想知道是否有任何解决方法?
答案 0 :(得分:2)
单击部署时,Cloud9会在后台aws cloudformation package
文件上运行aws cloudformation deploy
和template.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)。