我有一个问题lambda python.
我在lambda层中定义了一个变量,当我们多次调用该代码时,一次执行中的变量值将保留并由后续运行使用.
有什么方法可以使每个lambda执行都重置所有变量,而不使用先前运行中的任何变量值.
最佳答案
我怀疑这与Lambda图层无关,也与container reuse(Lambda的性能功能)无关.在处理程序函数之外声明的所有内容将在热启动后持续存在.
有关更多信息,请参见AWS Lambda Execution Context.
测试冷/暖启动并重置环境的一种可能方法如下:
import json
import logging
cache = {}
cold_start = True
def handler(event,context):
global cold_start
if cold_start:
print("Cold start")
cold_start = False
else:
print("Warm start,reset cache")
cache = {}
# do work here
cache['name'] = 'Jason'
cache['age'] = 27