我注意到似乎没有从AWS管理控制台下载整个s3桶的选项。
有什么简单的方法可以把所有东西都装进我的桶里吗?我正在考虑使根文件夹公共,使用wget抓取它,然后再次使它私有,但我不知道是否有更简单的方法。
我注意到似乎没有从AWS管理控制台下载整个s3桶的选项。
有什么简单的方法可以把所有东西都装进我的桶里吗?我正在考虑使根文件夹公共,使用wget抓取它,然后再次使它私有,但我不知道是否有更简单的方法。
当前回答
如果你只有文件在那里(没有子目录),一个快速的解决方案是选择所有的文件(点击第一个,Shift+点击最后一个),然后按Enter或右键单击并选择打开。对于大多数数据文件,这将直接下载到您的计算机。
其他回答
你可以使用s3cmd下载你的桶:
s3cmd --configure
s3cmd sync s3://bucketnamehere/folder /destination/folder
您可以使用另一种名为rclone的工具。这是Rclone文档中的一个代码示例:
rclone sync /home/local/directory remote:bucket
使用AWS S3 CLI下载:
aws s3 cp s3://WholeBucket LocalFolder --recursive
aws s3 cp s3://Bucket/Folder LocalFolder --recursive
要使用代码下载,请使用AWS SDK。
要使用GUI下载,请使用Cyberduck。
如果您只想从AWS下载桶,请首先在您的计算机中安装AWS CLI。在终端更改目录到你想下载的文件,并运行这个命令。
aws s3 sync s3://bucket-name .
如果你也想同步本地和s3目录(如果你在本地文件夹中添加了一些文件),运行这个命令:
aws s3 sync . s3://bucket-name
试试这个命令:
aws s3同步您的bucketnamedirectory您的localdirectory
例如,如果你的桶名是myBucket,本地目录是c:\local,那么:
aws s3 sync s3://myBucket c:\local
有关awscli的更多信息,请查看这个 Aws cli安装
@Layke的回答很好,但如果你有大量的数据,不想永远等待,你应该阅读“AWS CLI S3配置”。
以下命令将告诉AWS CLI使用1,000个线程执行作业(每个小文件或多部分副本的一部分),并查看100,000个作业:
aws configure set default.s3.max_concurrent_requests 1000
aws configure set default.s3.max_queue_size 100000
运行这些之后,你可以使用简单的sync命令:
aws s3 sync s3://source-bucket/source-path s3://destination-bucket/destination-path
or
aws s3 sync s3://source-bucket/source-path c:\my\local\data\path
在一个拥有4核CPU和16GB RAM的系统上,对于像我这样的情况(3-50GB文件),同步/复制速度从9.5MiB/s提高到700+MiB/s,比默认配置提高了70倍。