Amazon web services Lambda在结束后超时

Amazon web services Lambda在结束后超时,amazon-web-services,aws-lambda,Amazon Web Services,Aws Lambda,成功完成后,Lambda函数坚持超时 函数的触发事件是s3:ObjectCreated:: 该功能使用MongoDB Atlas,并根据优化建议执行,包括设置: context.callbackaitsforeptyeventloop=false操作 该函数还调用一些具有成功解析承诺的AWS SDK方法 在成功地完成代码并完成了它要做的一切之后,我在CloudWatch日志中获得了以下内容(请求的结束事件及其超时): 然后,该函数又重复了两次,结果是相同的不幸结果 有直接嫌疑犯吗?我应该看哪里?

成功完成后,Lambda函数坚持超时

函数的触发事件是
s3:ObjectCreated::

该功能使用MongoDB Atlas,并根据优化建议执行,包括设置:
context.callbackaitsforeptyeventloop=false操作

该函数还调用一些具有成功解析承诺的AWS SDK方法

在成功地完成代码并完成了它要做的一切之后,我在CloudWatch日志中获得了以下内容(请求的结束事件及其超时):

然后,该函数又重复了两次,结果是相同的不幸结果


有直接嫌疑犯吗?我应该看哪里?

您需要调用
回调(null,)
,以便结束函数处理程序并告诉Lambda您的函数已成功执行


否则,Lambda将在延迟后重试相同的调用,并且它将再次完成,但不会告诉Lambda它已成功完成。

您可以包含处理程序代码吗?奇怪的是,这样做了。即使我不需要函数的返回值,为什么这是必需的?调用callback()与什么都不调用是一样的,这表示函数成功结束而不返回结果。这是必要的,因为调用函数(我们看不见)就是这样运行的。
START RequestId: XXX    
... my logs...
END RequestId: XXX
REPORT RequestId: XXX   Duration: 6001.12 ms    Billed Duration: 6000 ms Memory Size: 1024 MB   Max Memory Used: 49 MB  
XXX Task timed out after 6.00 seconds