Simple global state for lambda functions
我正在使用lambda函数,基本上每5分钟对设备API进行一次长时间的轮询,以收集数据。我还希望能够为测试目的实时触发数据获取。我可以设置API调用中的最后日期时间…有点像
我想做的是以某种方式跟踪上次请求的时间,因此每次运行lambda函数时,我都会获取自上次请求以来收集的所有数据,无论这些数据是在计划的运行中完成的还是手动完成的。
通常我可以简单地使用一个变量:
1 2 3 4 5 6 7 8 9 | // set initial date let lastTime = moment().subtract("5 minutes").toDate(); // lambda function handler export default async () => { const data = await gatherData(); lastTime = new Date; return storeData(data); } |
但是在lambda中,每次运行都可能是一个新进程,因此无法保证
对于像基元这样的简单的东西,我有没有办法在lambda函数中跟踪全局状态?
你必须把这种东西放在lambda之外的某个地方。我一直在使用dynamodb表来存储lambda函数的全局状态。