我在这里读到我可以将Lambda函数超时设置为15分钟(https://aws.amazon.com/about-aws/whats-new/2018/10/aws-lambda-supports-functions-that-can-run -最多15分钟/)
但是,当我尝试在集成请求设置中设置API网关时,不允许将其设置为高于29秒:
我如何才能使用持续15分钟的功能,但是网关却在30秒后超时?
小智 18
API Gateway 现在支持 WebSocket API。只是:
您可以事件检查连接是否仍然存在以中断处理(或将进度消息发送回客户端)。
小智 11
不幸的是,没有一种方法可以将API网关超时增加到超过29秒。这是网关的限制。您可以将lambda函数设置为更长的原因是因为可以将其插入到其他AWS资源中,这些资源允许更高的超时处理阈值。
您可以探索以下选项来解决此问题和/或使用限制:
将您的功能拆分为较小的功能,并将它们链接在一起,以查看性能是否有所提高。在这样做之前,您可以使用AWS X-Ray调试该功能,并查看花费最多时间的部分来确定需要拆分的内容。
增加该功能使用的内存。更高的内存分配可能导致更快的执行。我以前使用过此选项,并且能够解决超时限制。
除了使用API Gateway,您还可以使用AWS开发工具包调用“ invoke()”,这将调用您的lambda函数。这将绕过超时阈值。
希望这些中的一种或几种能有所帮助:)
现在有一个很好的替代方案,那就是使用 AWS 函数 URL,它没有超时(除了 lamdba 本身)。引用 AWS 公告(2022 年 4 月),
...有时,您所需要的只是在函数前面配置 HTTPS 端点的简单方法,而无需学习、配置和操作除 Lambda 之外的其他服务。例如,您可能需要实现一个 Webhook 处理程序或在单个 Lambda 函数中运行的简单表单验证器。
当然,这很简单 - 但它的最大价值在于它不会超时。
您只需将 lambda 标记为需要函数 URL(通过控制台、CLI 或其他构建过程),AWS 就会创建一个函数 URL,即使您更新函数,该 URL 也将保持不变。
这是文档:https://docs.aws.amazon.com/lambda/latest/dg/lambda-urls.html
| 归档时间: |
|
| 查看次数: |
4045 次 |
| 最近记录: |