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

AWS Cloud9: deploy only one Lambda function at a time

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

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

当您单击部署时,Cloud9 在后台对您的 template.yaml 文件运行 aws cloudformation packageaws cloudformation deploy。 (来源:我为 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 资源面板中的远程函数列表)。