【发布时间】:2022-01-02 23:14:59
【问题描述】:
我正在学习 lambda,目前正在尝试了解环境变量。下面是一个非常简单的代码来显示我的问题。 (一个 nodejs 函数,它将简单地打印 name 常量的值)。
exports.handler = async function(event, context) {
const name = process.env.NAME;
return name;
};
我已经在 lambda 上定义了一个环境变量如下
现在这个 lambda 肯定会在完成后打印“xyz”。但是我们如何在运行 Lambda 时覆盖/更改“名称”变量的值。所以在调用它时会显示新值?例如 --NAME = "abc" 或 --NAME abc
【问题讨论】:
-
您为什么要这样做?您可能可以执行
process.env.NAME = "foobar",但这仅适用于当前调用(如果有的话)。如果您想为将来的调用更改环境变量的值,您需要更新您的 lambda 函数。在 AWS 控制台中或通过一些 aws-cli 调用 -
@kiner_shah — AWS Lambda 的上下文意味着这里不是一个好的重复目标。
-
@derpirscher 我需要在另一个脚本上执行此操作,我正在使用 lambda 函数创建一些 route53 记录。所以每次我运行 lambda 函数时,我都需要传递变量“domain”的值
-
@FaisalShani 这不是环境变量的用途,您不能以这种方式使用它们。如果您需要将参数传递给 lambda 函数,请使用其中一种官方方式,即通过查询参数或在事件主体中...
标签: javascript node.js amazon-web-services aws-lambda aws-serverless