AWS Lambda 响应错误

9
我正在运行 AWS Lambda,从 MariaDB 中获取数据,并将获取的行作为 JSON 对象返回。JSON 数组中的总项目数为64K。
我遇到了以下错误:
{ "error": "body size is too long" }

我能否通过对lambda进行任何配置更改的方式,发送所有64K行数据?

3个回答

27

您无法将64K行数据发送到Lambda,因为它超出了6MB正文负载大小的限制。以下是一些备选方案。

  • 查询数据并在Lambda内部的/tmp(最高512MB)目录中构建一个包含所有行的JSON文件,将其上传到S3并返回CloudFront签名URL以访问数据。
  • 将数据集拆分成多个页面并进行多次查询。
  • 使用EC2实例或ECS代替Lambda。

注意:基于查询数据的目的、大小等不同因素,可以有效地使用其他AWS服务的机制。


亲爱的,你能详细解释一下你第三点的意思吗?你是指使用Express在Node.js中编写API,并将其发布到EC2实例上吗? - Irfan Pathan
1
是的。可以使用NodeJS(带有ExpressJS或任何其他适当的框架)在EC2实例中,或者使用Docker容器,在容器集群中托管服务。 - Ashan
非常感谢@Ashan的建议,我正在努力实现...干杯 - Irfan Pathan

3

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接