我打算使用AWS API网关&Lambda执行文件上传到S3,通过POST从HTML表单。但是,如果文件足够大,API网关端点将失败,并显示消息[HTTP内容长度超过10485760字节]
你知道提高这个限额的方法吗
不管API方法是隐藏Lambda函数还是只是一个mock方法,都是一样的。
目前没有办法提高此限制。
此外,API网关目前尚未优化为支持二进制传输到S3。这是我们从其他客户那里听到的请求,我们可能会在未来为此提供支持。
更新2017-02-19:虽然仍然无法增加有效负载大小限制,但API网关现在支持二进制数据。
您可以使用作为S3 API一部分的多部分上传函数。
https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html
您必须添加三个端点才能启动流程、上传区块并完成流程。还可以考虑添加一个中止例程。
在客户端,您需要将文件分段,然后异步上传。
这使得每个帖子都低于API网关的10MB限制。显然,使用标准的html表单无法做到这一点,并且需要一些javascript处理来对文件进行块处理和处理异步请求。
或者,您可以绕过网关,直接发布到S3 Rest API。但是,您会失去网关的好处,并引入一些安全风险。
https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUT.html