我有一个 27GB 的文件,正在尝试将其从 AWS Linux EC2 移动到 S3。我尝试过“S3put”命令和“S3cmd put”命令。两者都使用测试文件。两者都不适用于大文件。没有给出错误,命令立即返回,但没有任何反应。
s3cmd put bigfile.tsv s3://bucket/bigfile.tsv
尽管您可以将大小高达 5TB 的对象上传到 S3,但 S3 对于单个 PUT 操作的大小限制为 5GB。
为了加载大于 5GB 的文件(甚至大于 100MB 的文件),您需要使用 S3 的分段上传功能。
http://docs.amazonwebservices.com/AmazonS3/latest/dev/UploadingObjects.html http://docs.amazonwebservices.com/AmazonS3/latest/dev/UploadingObjects.html
http://aws.typepad.com/aws/2010/11/amazon-s3-multipart-upload.html http://aws.typepad.com/aws/2010/11/amazon-s3-multipart-upload.html
(忽略上述博文中关于 5GB 对象限制的过时描述。当前限制为 5TB。)
Python 的 boto 库支持分段上传,最新的 boto 软件包含一个“s3multiput”命令行工具,可以为您处理复杂性,甚至可以并行分段上传。
https://github.com/boto/boto https://github.com/boto/boto
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)