AWS Lambda Timeourt异常

时间:2019-07-08 07:08:41

标签: c# .net for-loop async-await aws-lambda

我们有一个.Net Core Lambda函数,在此之下,我们有一个异步的for循环,该循环为每个循环项调用存储过程。它工作正常,但有时会引发异常“命令超时在操作完成之前到期。”

并且我们在AWS云监视日志中遇到此异常。请在这里提出可能的原因。

 locations.ForEach(async location =>
                        {
                                await _dataServiceWrite.SaveDeletedLocationDelegateAssignment(location.LocationId, obj.DelegateId, hsId, userId);
                                await Task.Delay(100);
                        });

2 个答案:

答案 0 :(得分:1)

AWS lambda的最大时间限制为15分钟,此后将超时。这是Lambda中的可配置设置,请查看是否可以将其增加到最大以满足您的要求。不过,当需要处理更多记录时,该体系结构可能无法扩展。

答案 1 :(得分:0)

另一种选择是调用另一个lambda函数,它们将异步进行处理。

用于调用另一个lambda的API是Invoke,您需要提供InvokeInput作为输入参数。