您如何处理通过lambda共享的常量?

时间:2019-12-17 10:17:13

标签: lambda aws-lambda

是否有一种聪明的方法可以在差异Lambda上共享常量?

我可以使用环境变量,但是我不想使它们可配置。

2 个答案:

答案 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。