错误:EntityTooLarge 状态 400 AmazonAWS

Posted

技术标签:

【中文标题】错误:EntityTooLarge 状态 400 AmazonAWS【英文标题】:Error: EntityTooLarge Status 400 AmazonAWS 【发布时间】:2017-02-23 09:53:37 【问题描述】:

我正在尝试将视频从 Cordova 应用程序上传到 android/iPhone 的 Amazon AWS S3 存储桶。但它有时会失败,从 AWS 存储桶中给出关于此错误的零星报告:

http_status:400,
<Code>EntityTooLarge</Code>

有些文件很小,有些大约 300mb 左右。

在 AWS 端我可以做些什么来解决这个问题?

【问题讨论】:

视频的大小以及如何将其上传到 S3。 已编辑问题描述。 【参考方案1】:

400 Bad Request 错误有时被 S3 用来指示使请求在某种意义上无效的条件——不仅仅是语法上的无效,即传统意义上的 400 错误。

EntityTooLarge

您建议的上传超出了允许的最大对象大小。

400 Bad Request

http://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html

请注意“提议”一词。这似乎是对您发送的 Content-Length 请求标头的反应。你可能想检查一下。可能标头与文件的实际大小不一致,或者文件被检测为大于实际大小。

请注意,虽然 S3 中的最大 object 大小为 5 TiB,但最大 upload 大小为 5 GiB。 (大于 5 GiB 的对象必须分多个部分上传。)

【讨论】:

【参考方案2】:

当请求正文大于服务器配置允许的大小时,会发生 413 错误。我相信这不是 AWS S3 抛出的错误,因为它们支持 5 TB 大小的对象。

如果您首先在应用中接受此视频,然后从那里向亚马逊 S3 发出请求,那么您的服务器未配置为接受请求中的大型实体。

请参阅 -set-entity-size for different servers。如果您的服务器未在此处列出,那么您需要弄清楚如何为您的服务器增加实体大小。

【讨论】:

谢谢。问题是,这是一个 400,而不是 413 错误。不知道这是否重要。另外,文件有几百 MB,可能是多部分数据问题? @Dave 无论如何 4XX 都是客户端错误。

以上是关于错误:EntityTooLarge 状态 400 AmazonAWS的主要内容,如果未能解决你的问题,请参考以下文章

状态:400 标题:“发生一个或多个验证错误。”

超时错误:400 状态码错误:“要求失败:会话未激活。”

反应:未捕获(承诺)错误:请求失败,状态码为 400

Axios POST状态400错误请求[重复]

Spotify API 创建播放列表返回 错误: 状态:400,消息:'解析 JSON 时出错。'

http状态返回代码400怎么解决