无法通过API网关将5MB - 10MB图像文件上传到Lambda

时间:2018-01-09 16:11:54

标签: amazon-web-services base64 aws-lambda aws-api-gateway data-compression

我正在尝试通过api网关将5MB图像上传到aws lambda。 我需要将文件内容作为二进制或缓冲区传递而不进行任何转换。但API网关将输入转换为base64

默认情况下,转换后的base64文本为7MB。由于在base64转换后数据大小增加 lambda不允许该大小。 如何在API网关中阻止此自动base64转换? 在AWS论坛中,大多数人都建议将文件上传到s3存储桶并在lambda中使用它。但在我的情况下,我需要在没有S3帮助的情况下将其直接传递给lambda。我已经在这里工作了几个星期......任何帮助或见解都表示赞赏。

1 个答案:

答案 0 :(得分:1)

As documented,同步调用的最大有效负载大小(来自API网关)为6 MB。

这意味着,如果您有更大的有效负载,则需要将它们分解为多个请求并将这些请求组合起来进行处理。这意味着您需要某种形式的存储来存放碎片,以及将碎片链接在一起的方法。

如果您需要在单个请求中上传更大的有效负载,并且无法使用其他替代方案,例如首先上传到S3,则Lambda不适合您。