Mal*_*tor 6 amazon-sqs amazon-web-services aws-lambda
我目前正在使用用 Javascript 编写的 Lambda 函数,该函数设置了 SQS 事件源,以自动从 SQS 队列中提取消息并对消息内容进行一些基本处理。我无法显示代码,但 lambda 函数的执行摘要基本上是:
对于批处理中的每条消息,它作为事件的一部分接收:
getObject.put。deleteMessage.这个 SQS 队列是高容量的,并且批量接收消息,定期积压数百万条消息。Lambda 通常能够扩展以同时处理数十万条消息。这个解决方案过去在其他应用程序中对我来说效果很好,但我现在遇到了以下间歇性错误,随着 Lambda 的扩展,这些错误开始可靠地出现:
[ERROR] [#############] LAMBDA_RUNTIME Failed to post handler success response. Http response code: 400.
Run Code Online (Sandbox Code Playgroud)
我一直无法在任何地方找到有关此错误含义及其原因的任何信息。对于哪些处决遇到它,似乎没有明显的模式。该函数通常能够运行一小段时间而不会遇到错误并扩展到预期水平。但是,正如您所看到的,错误开始突然出现并通过强制其自动缩减来完全破坏 Lambda 吞吐量:

有谁知道这个“LAMBDA_RUNTIME”错误是什么意思以及可能导致它的原因是什么?我的 Lambda 函数运行时是 Node v12。
我只收到此错误:
[ERROR] [1638918279694] LAMBDA_RUNTIME Failed to post handler success response. Http response code: 413.
我转到 aws 控制台上的 lambda 函数,并使用我构建的自定义事件运行测试,得到的错误是:
{
"errorMessage": "Response payload size exceeded maximum allowed payload size (6291556 bytes).",
"errorType": "Function.ResponseSizeTooLarge"
}
Run Code Online (Sandbox Code Playgroud)
因此,这是 cloudwatch 不会返回但 lambda 函数控制台的测试部分会返回的实际错误。
我想我必须将信息返回到 S3 文件或其他文件,但这是另一回事。
小智 4
您的函数是异步调用的,因此当它完成时,它会向调用者发出信号是否成功。您应该在几毫秒前出现错误,可能是未记录未处理的异常。如果是这种情况,您的函数将在不知道异常的情况下结束,并尝试发布成功响应。
| 归档时间: |
|
| 查看次数: |
1567 次 |
| 最近记录: |