首页 > 解决方案 > 如何在不删除现有内容的情况下向 AWS Lambda 添加环境变量?

问题描述

有没有办法在不删除已经存在的环境变量的情况下向 AWS Lambda 函数添​​加新的环境变量?

(即使用命令行工具。)

标签: amazon-web-servicesaws-lambda

解决方案


使用 Lambda 控制台,您只需附加新的环境变量:

在此处输入图像描述

使用 CLI 执行此操作更难——aws lambda update-function-configuration允许您有选择地更新 lambda 的各个方面,但没有辅助方法来附加环境变量。您可以使用aws lambda get-function-configuration来获取环境变量的当前列表。可以与一些 bash/powershell 脚本(或使用匹配的 SDK 函数选择的语言)结合使用。

例如:

const AWS = require('aws-sdk');
const lambda = new AWS.lambda();

const FunctionName = 'FUNCTION_NAME';
const AppendVars = { key: value };

async function appendVars() {
  const { Environment: { Variables } } = await lambda.getFunctionConfiguration({ FunctionName }).promise();
  await lambda.updateFunctionConfiguration({
    FunctionName,
    Environment: { Variables: { ...Variables, ...AppendVars } },
  }).promise();
}

appendVars();

推荐阅读