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