是否有一种聪明的方法可以在差异Lambda上共享常量?
我可以使用环境变量,但是我不想使它们可配置。
答案 0 :(得分:3)
答案 1 :(得分:0)
最好的方法是使用Lambda图层。您可以定义Lambda图层以及在不同Lambda中需要使用的常量。
以以下作为图层示例,并将其命名为constants
(用Javascript):
let constants = {
// conversion factor from GB to Bytes
GB_TO_BYTE: 1073741824
};
module.exports = constants;
然后,为了在lambda中使用它,必须使用此层配置每个Lambda。并且在lambda本身中,您可以按如下方式获得常数值:
const constants = require('constants');
exports.handler = async (event) => {
const response = {
statusCode: 200,
body: JSON.stringify(constants.GB_TO_BYTE)
};
return response;
};
在整个代码中,先前的Lambda将使用constants.GB_TO_BYTE
作为常量。显然,该层可用于需要该层中定义的常量的所有其他lambda。