从EC2传输大文件到S3

6

我有一个27GB的文件,想要从AWS Linux EC2移动到S3。我尝试了'S3put'和'S3cmd put'命令,两者都可以使用测试文件。但是,对于大文件两个命令都无效,没有任何错误提示,命令立即返回,但是没有任何操作。

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

我认为新的S3CMD工具至少在Ubuntu版本中支持自动分块上传。 - Maziyar
请看https://dev59.com/6m025IYBdhLWcg3w1JeG#22107084,我的建议是:https://dev59.com/6m025IYBdhLWcg3w1JeG#22107084 - user116293
有时候需要root访问权限 sudo s3cmd put... - tarikakyol
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


啊,这看起来像是我即将遇到的下一个问题。我会重新生成文件,然后尝试使用s3multiput。谢谢。 - waigani

0
文件不存在,唉。我通过添加-v标签以冗长模式运行S3命令后才意识到这一点。
s3cmd put -v bigfile.tsv s3://bucket/bigfile.tsv

0

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接