2016-07-06 50 views
0

我想从我的数字海洋液滴上传数千张图片到我的S3存储桶,我已经创建了一段代码,可以将我的网站上的所有新图片上传到桶,所以现在工作正常,我只是想将我的生产液滴的所有图像移动到水桶。如何一次性将数千张图片上传到亚马逊S3

我在图像上存储了52 GB,所以我不知道如何将所有图像移动到存储桶中!什么是最好的方法?

回答

0

最好的方法是:

  1. 创建要传输图像的压缩文件。
  2. 在与Bucket相同的区域创建一个EC2实例。
  3. 将Zip文件复制到EC2实例。
  4. 解压缩EC2实例中的Zip文件。
  5. 使用aws cli将图像从EC2实例复制到存储桶。

另一种方法是直接从Droplet使用aws cli,但由于文件数量众多,需要花费大量时间进行传输。

aws cli中,您可以使用aws s3 cpaws s3 sync复制图像。

+0

我宁愿使用Droplet的aws cli,并在后台运行命令比创建新的实例,因为从Droplet复制所有图像到Instance将需要相同的时间从Droplet复制到S3 – niteshd22

+0

谢谢!这项工作对我来说,它将所有文件传输速度超快,我试过s3fs-fuse,但它永远让我转移一个目录,现在我可以很快开始在我的制作网站工作了! –

+0

@ niteshd22,从Droplet传输的时间确实增加了,这是因为每个文件的请求开销都是开销,从EC2开始的开销仍然很大,但是在同一个区域它的开销很小。 但是压缩方法有其自身的缺点,Zip文件需要EC2实例,其磁盘空间大小至少是传输所需数据的两倍。 –