我注意到似乎没有从AWS管理控制台下载整个s3桶的选项。
有什么简单的方法可以把所有东西都装进我的桶里吗?我正在考虑使根文件夹公共,使用wget抓取它,然后再次使它私有,但我不知道是否有更简单的方法。
我注意到似乎没有从AWS管理控制台下载整个s3桶的选项。
有什么简单的方法可以把所有东西都装进我的桶里吗?我正在考虑使根文件夹公共,使用wget抓取它,然后再次使它私有,但我不知道是否有更简单的方法。
当前回答
使用AWS S3 CLI下载:
aws s3 cp s3://WholeBucket LocalFolder --recursive
aws s3 cp s3://Bucket/Folder LocalFolder --recursive
要使用代码下载,请使用AWS SDK。
要使用GUI下载,请使用Cyberduck。
其他回答
试试这个命令:
aws s3同步您的bucketnamedirectory您的localdirectory
例如,如果你的桶名是myBucket,本地目录是c:\local,那么:
aws s3 sync s3://myBucket c:\local
有关awscli的更多信息,请查看这个 Aws cli安装
另一个可以帮助一些OS X用户的选项是Transmit。
它是一个FTP程序,还可以让您连接到S3文件。而且,它有一个选项,可以将任何FTP或S3存储作为文件夹挂载在Finder中,但这只是在有限的时间内。
如果桶相当大,有一个叫做s4cmd的命令可以进行并行连接,提高下载时间:
把它安装在Debian上就像
apt install s4cmd
如果你有pip:
pip install s4cmd
它将读取~/。s3cfg文件(如果没有安装s3cmd并运行s3cmd——configure),或者您可以在命令上指定——access-key=ACCESS_KEY——secret-key=SECRET_KEY。
命令行类似于s3cmd。在这种情况下,建议同步,因为您可以取消下载并重新启动,而不必重新下载文件。
s4cmd [--access-key=ACCESS_KEY --secret-key=SECRET_KEY] sync s3://<your-bucket> /some/local/dir
如果你下载了很多数据(>1TB),这可能会影响你的账单,先计算一下这将是成本
如果您使用带有S3Fox的Firefox,它确实允许您选择所有文件(shift-选择第一个和最后一个),然后右键单击并下载所有文件。
我已经处理了500多个文件,没有任何问题。
aws s3 sync s3://<source_bucket> <local_destination>
是一个很好的答案,但它不会工作,如果对象在存储类冰川灵活检索,即使文件已经恢复。在这种情况下,你需要添加标志——force-glacier-transfer。