6

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

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

3 回答 3

5

尽管您可以将最大大小为 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

于 2012-10-19T23:23:13.703 回答
0

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

s3cmd put -v bigfile.tsv s3://bucket/bigfile.tsv
于 2012-10-19T23:34:52.077 回答
0

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

于 2013-01-30T17:37:16.840 回答