2017-05-30 85 views
0

将报表生成移动到aws lambda以从主应用程序中移除此负载,但是我还需要管理不同的执行环境,开发,阶段和生产。为此,我管理一组环境变量,其中为Mysql,Redis,AWS S3凭证,存储区定义了url,这取决于我的需要。使用API​​在AWS Lambda中设置环境变量

我可以从lambda控制台配置这些环境变量,但要实现一组测试环境,我需要配置3个函数,一个用于dev,另一个用于stage,另一个用于生产。

我想要实现的是我的项目可以从配置的环境变量读取并在启动时设置值,这样我就不用担心从aws控制台维护它。我的代码库是使用spring的java,我猜测有一些java API来管理aws lambda。

我一直在寻找这个,但没有运气到目前为止,也即时开放的建议。

回答

2

您需要使用aws-sdk中的updateFunctionConfiguration函数动态更新您的lambda配置。

但是,更好的方法是使用lambda versioning and aliases。对于相同的功能,您可以为每个环境创建一个版本,然后为其创建一个别名。每个版本都可以有独立于其他版本的独立环境变量集。当你调用你的函数时,你必须传递一个名为qualifier的参数,其值为环境别名/版本名称。这可以通过setQualifier来完成,然后你invoke