如何使用Python在AWS lambda中设置环境变量

shi*_*455 1 python amazon-web-services aws-lambda

我正在尝试使用python在AWS lambda中设置环境变量

最初我有一个环境变量stackname,在lambda配置中没有值.

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"])
Run Code Online (Sandbox Code Playgroud)

现在我在这里看到奇怪的间歇性行为,我希望打印出来的第一个

its empty
mystack
Run Code Online (Sandbox Code Playgroud)

每当我执行lambda时,它应该打印出来

Not empty
mystack
Run Code Online (Sandbox Code Playgroud)

最初几次打印

Not empty
mystack
Run Code Online (Sandbox Code Playgroud)

但经过几次或更多的处决后,lambda打印下面很奇怪.

  its empty
    mystack
Run Code Online (Sandbox Code Playgroud)

请建议是否这是设置环境变量以提供一致输出的任何其他更好的方法.

Joh*_*ley 8

AWS Lambda函数在Amazon Linux环境中运行.相同Lambda函数的顺序调用可能导致函数在相同环境或不同环境中运行.环境我指的是电脑,容器等

这意味着您无法可靠地设置环境变量并期望它们在下次调用时存在.

更好的方法是将运行时变量存储在持久存储中,例如DynamoDB.