【问题标题】:large file from ec2 to s3从 ec2 到 s3 的大文件
【发布时间】:2012-10-19 18:59:06
【问题描述】:

我有一个 27GB 的文件,我正在尝试将它从 AWS Linux EC2 移动到 S3。我已经尝试了“S3put”命令和“S3cmd put”命令。两者都使用测试文件。两者都不适用于大文件。没有给出错误,命令立即返回但没有任何反应。

s3cmd put bigfile.tsv s3://bucket/bigfile.tsv

【问题讨论】:

标签: amazon-s3 amazon-ec2 s3cmd


【解决方案1】:

虽然您可以将最大大小为 5TB 的对象上传到 S3,但 S3 对单个 PUT 操作的大小限制为 5GB。

为了加载大于 5GB 的文件(甚至大于 100MB 的文件),您需要使用 S3 的分段上传功能。

http://docs.amazonwebservices.com/AmazonS3/latest/dev/UploadingObjects.html

http://aws.typepad.com/aws/2010/11/amazon-s3-multipart-upload.html

(忽略上述博文中关于 5GB 对象限制的过时描述。当前限制为 5TB。)

适用于 Python 的 boto 库支持分段上传,最新的 boto 软件包括一个“s3multiput”命令行工具,可以为您处理复杂性,甚至可以并行化分段上传。

https://github.com/boto/boto

【讨论】:

  • 啊,这看起来像是我要解决的下一个问题。我将重新生成苍蝇,看看我如何使用 s3multiput。谢谢。
【解决方案2】:

文件不存在,呵呵。通过添加 -v 标记以详细模式运行 s3 命​​令后,我意识到了这一点:

s3cmd put -v bigfile.tsv s3://bucket/bigfile.tsv

【讨论】:

    【解决方案3】:

    s3cmd 1.1.0 版支持将分段上传作为“put”命令的一部分,但它仍处于测试阶段(目前。)

    【讨论】:

      猜你喜欢
      • 2014-06-13
      • 2020-11-02
      • 1970-01-01
      • 1970-01-01
      • 2015-08-11
      • 2021-11-29
      • 2020-09-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多