我正在尝试使用 python 在 AWS lambda 中设置环境变量
最初我有一个在 lambda 配置中没有值的环境变量 stackname。
def lambda_handler(event, context):
if os.environ["stackname"]:
print("Not empty")
print(os.environ["stackname"])
else:
print("its empty")
os.environ["stackname"]="mystack"
print(os.environ["stackname"])
现在我在这里第一次看到奇怪的间歇性行为,我希望打印
its empty
mystack
从那时起,每当我执行 lambda 时,它都应该打印
Not empty
mystack
最初几次打印
Not empty
mystack
但是在几次或更多次执行之后,lambda 打印在下面,这很奇怪。
its empty
mystack
请建议是否有其他更好的方法来设置环境变量以提供一致的输出。
请您参考如下方法:
AWS Lambda 函数在 Amazon Linux 环境中运行。相同 Lambda 函数的顺序调用可能会导致该函数在相同环境或不同环境中运行。我所说的环境是指计算机、容器等。
这意味着您无法可靠地设置环境变量并期望它们在下一次调用时存在。
更好的方法是将运行时变量存储在持久性存储中,例如 DynamoDB。
