Aws Lambda响应错误

时间:2017-09-19 10:25:59

标签: node.js amazon-web-services lambda aws-lambda

我正在运行aws lambda,它将从maria DB获取数据并将获取的行作为JSON对象返回。 JSON数组中的项目总数为64K。

我收到此错误:

{ "error": "body size is too long" }

有没有办法通过对lambda进行任何配置更改来发送所有64K行?

3 个答案:

答案 0 :(得分:10)

您无法发送64K行(超过6MB的主体有效负载大小limit),从而对Lambda进行配置更改。很少有替代选择。

  • 查询数据并构建一个JSON文件,其中包含Lambda内/ tmp(最多512MB)目录中的所有行,将其上传到S3并返回CloudFront Signed URL以访问数据。
  • 将数据集拆分为多个页面并执行多个查询。
  • 使用EC2实例或ECS,而不是Lambda。

注意:根据查询数据的目的,其大小和范围。可以使用不同的机制,有效地使用其他AWS服务。

答案 1 :(得分:3)

此错误表示您的响应超过了最大值(6 MB),这是AWS Lambda可以响应的最大数据大小。

http://docs.aws.amazon.com/lambda/latest/dg/limits.html

答案 2 :(得分:1)

您似乎正在达到最大6 MB响应大小的硬限制。由于这是一个很难的限制,很遗憾没有办法增加这一点。

您需要设置lambda,以便能够发送最多6MB并在您需要在不同调用中检索的行中分页,直到您获取所有64K。

来源: https://docs.aws.amazon.com/lambda/latest/dg/limits.html#limits-list https://forums.aws.amazon.com/thread.jspa?threadID=230229