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 package
和 aws 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 资源面板中的远程函数列表)。
我正在尝试使用 AWS Cloud9 部署 Lambda 函数。当我按下部署时,我的所有功能同时 deployed/synced 而不是我在部署时选择的那个。右键单击该功能并按部署时也是如此。我觉得这很烦人,想知道是否有任何解决方法?
在 AWS Cloud9 中,Lambda 函数是在无服务器应用程序中创建的,因此是通过 CloudFormation 部署的。借助 CloudFormation,可以一次性部署整个堆栈,因此可以一起部署所有功能(有关详细信息,请参阅 this discussion)。
当您单击部署时,Cloud9 在后台对您的 template.yaml
文件运行 aws cloudformation package
和 aws 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 资源面板中的远程函数列表)。