【发布时间】:2020-05-05 19:17:10
【问题描述】:
我已将 AWS Gateway API 配置为 proxy,以便 S3 将文件上传到 S3 存储桶。我已将二进制媒体配置为支持multipart/form-data
我可以毫无问题地上传大小为 10MB 或以下的文件。但是,当文件大小超过 10MB 时,我会收到 413 Request Entity Too Large 问题。
我知道 AAG 的有效负载硬限制为 10 MB。
问题
1>添加multipart/form-data不是应该解决10 MB的限制问题吗?我还需要配置什么吗?
2>推荐的另一种方法是create pre-signed url。我假设这种工作方法客户端必须拨打电话以获取预签名的 url,然后使用该 url 上传文件。这是上传大文件的唯一方法吗?
请注意,我已经阅读了几篇关于同一问题的 SO 帖子,但其中大多数都是旧的,我很想知道是否有任何新建议。
【问题讨论】:
-
您应该改用 S3 提供的分段上传功能并解决这个问题 IMO。结帐docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html了解详情。
-
我找不到任何确认您可以使用此 API Gateway S3 代理功能进行超过 10MB 聚合的大型、多部分上传。但是,您绝对可以通过预签名 URL 直接上传到 S3。是的,您在 #2 中提出的方法是正确的。
-
@Siddharth 我们的客户将上传文件。我试图避免为我们的客户直接上传到 S3。将来如果我们从 S3 更改为其他东西,那么他们必须更改他们的代码。
标签: amazon-web-services amazon-s3 aws-lambda aws-api-gateway