2017-05-30 66 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