由于管道损坏,无法通过多部分上传Java API将大于8GB的文件上传到Amazon S3

时间:2011-03-15 20:15:55

标签: upload amazon-s3

我在Java中实现了S3多部分上传,包括高级和低级版本,基于来自的示例代码 http://docs.amazonwebservices.com/AmazonS3/latest/dev/index.html?HLuploadFileJava.htmlhttp://docs.amazonwebservices.com/AmazonS3/latest/dev/index.html?llJavaUploadFile.html

当我上传大小小于4 GB的文件时,上传过程完成没有任何问题。当我上传大小为13 GB的文件时,代码开始显示IO异常,管道损坏。多次重试后,它仍然失败。

以下是重复方案的方法。以1.1.7.1发布,

  1. 在美国标准区域中创建新存储桶
  2. 创建一个大型EC2实例作为上传文件的客户端
  3. 在EC2实例上创建一个13GB大小的文件。
  4. 在EC2实例的任何一个高级或低级API S3文档页面上运行示例代码
  5. 测试三个部件尺寸中的任何一个:默认部件尺寸(5 MB)或将部件尺寸设置为100,000,000或200,000,000字节。
  6. 到目前为止,问题始终存在。我做了一个tcpdump。似乎HTTP服务器(S3端)保持重置TCP流,这导致客户端在上传的字节数超过8GB后抛出IO异常 - 断开的管道。使用多部分上传将大文件上传到S3时,任何人都有类似的经历吗?

0 个答案:

没有答案