我注意到似乎没有从AWS管理控制台下载整个s3桶的选项。
有什么简单的方法可以把所有东西都装进我的桶里吗?我正在考虑使根文件夹公共,使用wget抓取它,然后再次使它私有,但我不知道是否有更简单的方法。
我注意到似乎没有从AWS管理控制台下载整个s3桶的选项。
有什么简单的方法可以把所有东西都装进我的桶里吗?我正在考虑使根文件夹公共,使用wget抓取它,然后再次使它私有,但我不知道是否有更简单的方法。
当前回答
在AWS CLI下使用该命令:
aws s3 cp s3://bucketname . --recursive
其他回答
在AWS CLI下使用该命令:
aws s3 cp s3://bucketname . --recursive
正如Neel Bhaat在这篇博客中解释的那样,有许多不同的工具可以用于此目的。有些是AWS提供的,大多数是第三方工具。所有这些工具都要求您将AWS帐户密钥和秘密保存在工具本身。在使用第三方工具时要非常谨慎,因为你保存的凭证可能会让你失去全部价值,让你完蛋。
因此,我总是建议为此使用AWS CLI。您可以从这个链接简单地安装它。接下来,运行以下命令并在AWS CLI中保存密钥和秘密值。
aws configure
并使用以下命令将AWS S3 Bucket同步到本地计算机。(本地机器应该安装了AWS CLI)
aws s3 sync <source> <destination>
例子:
1)用于AWS S3到本地存储
aws s3 sync <S3Uri> <LocalPath>
2)从本地存储到AWS S3
aws s3 sync <LocalPath> <S3Uri>
3)从AWS s3桶到另一个桶
aws s3 sync <S3Uri> <S3Uri>
你可以使用s3cmd下载你的桶:
s3cmd --configure
s3cmd sync s3://bucketnamehere/folder /destination/folder
您可以使用另一种名为rclone的工具。这是Rclone文档中的一个代码示例:
rclone sync /home/local/directory remote:bucket
试试这个命令:
aws s3同步您的bucketnamedirectory您的localdirectory
例如,如果你的桶名是myBucket,本地目录是c:\local,那么:
aws s3 sync s3://myBucket c:\local
有关awscli的更多信息,请查看这个 Aws cli安装
为了添加另一个GUI选项,我们使用了WinSCP的S3功能。它非常容易连接,只需要你的访问密钥和密钥在用户界面。然后,您可以从任何可访问的存储桶中浏览和下载所需的任何文件,包括嵌套文件夹的递归下载。
由于通过安全检查新软件可能是一个挑战,而且WinSCP相当普遍,因此使用它而不是尝试安装更专业的实用程序会非常有益。