我有AWS lambda函数从S3下载,创建zip存档并上传回S3。 有时我在日志中看到我的函数调用了两次。我将尝试详细描述。我的lambda函数等待一些参数:
"OutputBucket": 'bucketName',
"OutputKey": 'Zip/result.zip', * just for example
"SourceBucket": 'bucketName',
"SourcePrefix": 'projects/1990/6068/' *this is path to folder in S3
当用户点击按钮时,我调用lambda函数:
_lambdaClient.Invoke(invokeRequest);
我在调试器中看到,所有数据都正确填充,此代码调用一次。
但是在日志中我看到lambda调用两次并且参数不同。当我点击按钮,然后等到它完成然后再次点击另一个项目时,就会发生这种情况。
如您所见,有两个START / END记录。他们间隔4分钟。 结果我有zip文件,其中包含来自两个不同项目的文件。
哪里有问题?
答案 0 :(得分:0)
“执行Lambda函数后,AWS Lambda维护着 容器有一段时间以期待另一个Lambda函数 调用。实际上,服务冻结后的容器 如果AWS,Lambda函数完成并解冻容器以供重用 Lambda选择在Lambda函数时重用容器 再次调用。“
它肯定会尝试在一段时间内重复使用您之前的功能。对于我们这些使用Lambda实例化Kestrel服务器的人来说,它有助于防止每次调用时设置代码重复。
http://docs.aws.amazon.com/lambda/latest/dg/lambda-introduction.html