调用 Lambda 的 API 网关上出现间歇性内部服务器错误 - StatusCode 500

Nic*_*cía 2 amazon-web-services aws-lambda aws-api-gateway

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

然而,有几次我从 API 收到 500 错误代码,而 Lambda 似乎甚至没有被执行。上面response.reason写着:“内部服务器错误”,并且没有给出其他信息。

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

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

任何提示将不胜感激。

fcr*_*r79 10

我遇到了同样的问题,在我的情况下,我必须在 API Gateway 阶段启用记录完整请求/响应数据以及 INFO 日志才能查看以下日志:

(xxx) Endpoint response body before transformations: 
{
    "Type": "Service",
    "message": "INFO: Lambda is initializing your function. It will be ready to invoke shortly."
}
Run Code Online (Sandbox Code Playgroud)

就我而言,问题与 lambda 处于 Inactive 状态有关,如果函数保持空闲状态数周,就会发生这种情况。