我正在使用lambda函数来处理大量数据(超过30秒),并且正在接收来自AWS Gateway的消息:
端点请求超时
我知道这显然是由于AWS Gateway的默认超时,但是我的Lambda函数设置为最多运行15分钟。
增加此超时的最佳方法是什么?当然,考虑到可以将lambda设置为执行更长的时间,可以做到这一点。
谢谢
答案 0 :(得分:2)
API网关在30秒后超时,您是否尝试过使用计划的事件来触发lambda而不是通过API网关?
答案 1 :(得分:2)
根据the documentation,API网关在30秒后超时。到目前为止,它是不可配置的。
集成超时50毫秒-所有集成类型(包括Lambda,Lambda代理,HTTP,HTTP代理和AWS集成)的29秒。
答案 2 :(得分:2)
API网关的硬限制为30秒。如果您的Lambda通常需要30秒以上(并且您确实需要使用API端点而不是时间表,SQS或其他来源),则应使用网关后面的Lambda来触发另一个执行实际工作并给出响应的Lambda类似于{ "file_id": "some_id", "status": "in_progress"}
。
然后从另一个API端点获取工作结果。
理想情况下,您还应该有另一个端点来检查工作状态,以便API的用户知道何时完成工作以及可以下载结果了。