首页 > 解决方案 > 间歇性内部服务器错误 - API Gateway 上的 StatusCode 500 调用 Lambda

问题描述

我在 AWS API Gateway 中有一个 REST API,它调用 Python Lambda 函数并返回一些结果。大多数情况下,此工作流程运行良好,这意味着 Lambda 函数被执行并将结果传递回 API,而 API 又返回 200 OK 响应。

但是,有几次我从 API 收到 500 错误代码,而 Lambda 似乎甚至没有被执行。response.reason 说:“内部服务器错误”并且没有提供其他信息。

在方法或参数格式方面,API 的失败请求和成功请求没有区别。

另一条评论是 API 启用了缓存设置。我看过类似的帖子,其中一些答案提到了 Lambda 函数返回的 JSON 对象的格式,另一些则指向 IAM 权限问题,但这些似乎都不是原因。事实上,正如这篇文章的标题所说,这是一种间歇性行为:大多数时候它工作正常,但偶尔我会收到这个错误。

任何提示将不胜感激。

标签: amazon-web-servicesaws-lambdaaws-api-gateway

解决方案


我通过 HTTP API 集成看到了这一点。它是间歇性的,在向 Lambda 添加预置并发时似乎有所改善。例如,在具有 4 到 10 个并发实例但通常徘徊在 4 到 8 个范围内的 Lambda 上,购买 5 到 6 个预置并发实例有助于减少甚至可能消除这 500 个错误。

我仍在监视他们是否永远消失了。这些错误的频率随着预置的实例而急剧下降。


推荐阅读