[英]Update an environment variable of an AWS Lambda function in python
我想从 AWS Lambda function 更新环境变量。我试过这段代码:
import os
def lambda_handler(event, context):
call = os.environ["last_call"]
print (call)
os.environ["last_call"] = "last update now "
print (os.environ["last_call"])
当我重新分配os.environ["last_call"] = "last update now"
时,我没有看到环境变量更新。
我知道我错过了什么。 您能否指导我每次调用 Lambda function 时如何更新值?
使用os.putenv(key, value)
,但要小心:
如果平台支持putenv
putenv()
function,这个映射可以用来修改环境和查询环境。
您的目标似乎是存储一些信息,以便在下次执行 function 时 function 可以访问这些信息。
这可以(大部分)简单地通过使用全局变量而不是环境变量来完成。 只需在处理程序 function 之外定义一个变量,它就可以在 function 的未来执行期间访问。
然而:
使用环境变量也会有同样的问题。
让 Lambda function 的未来执行可以访问信息的正确方法是使用某种形式的存储服务,例如 DynamoDB、Amazon S3 或数据库。
你可以像这样使用它......它对我有用。
import boto3
def lambda_handler(event, context):
client = boto3.client('lambda')
response = client.update_function_configuration(
FunctionName='my-test-lam-1',
Environment={
'Variables': {
'NAME': 'updated_value',
'key2': 'val2'
}
}
)
环境变量将通过导入库使用
import os
variable = os.environ["env-variable"]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.