增加 Amazon API 网关的最大 POST 大小

Increase maximum POST size for Amazon API Gateway

我打算使用 AWS API 网关和 Lambda 通过 POST 从 HTML 表单向 S3 执行文件上传。 但是,如果文件足够大,API 网关端点将失败,并显示消息 [HTTP 内容长度超过 10485760 字节。]。

你知道增加这个限制的方法吗?

无论 API 方法是隐藏 Lambda 函数还是只是一个 mock 方法,都是一样的。

目前无法提高此限制。

此外,API 网关当前未优化以支持二进制传输到 S3。这是我们从其他客户那里听到的请求,我们将来可能会增加对此的支持。

2017 年 2 月 19 日更新: 虽然仍然无法增加负载大小限制,但 API 网关现在可以 support binary data.

您可以使用作为 S3 的一部分提供的分段上传功能 API。

https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html

您必须添加三个端点来启动流程、上传块并完成流程。还可以考虑添加一个中止例程。

客户端,您需要将文件分块,然后异步上传。

这使每个 post 都低于 API 网关的 10MB 限制。显然,您不能使用标准的 html 表单来做到这一点,并且需要一些 javascript 处理来分块文件并处理异步请求。

或者,您可以绕过网关 post 直接到 S3 Rest API。但是,您失去了网关的好处并引入了一些安全风险。

https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUT.html