从 aws3、 cp 或 sync 下载文件夹?

如果我想把 S3上目录的所有内容下载到我的本地 PC 上,我应该使用 cp 还是 sync?

如果你能帮忙,我将不胜感激。

比如说,

如果我想下载“这个文件夹”的所有内容到我的桌面上,它看起来像这样吗?

 aws s3 sync s3://"myBucket"/"this folder" C:\\Users\Desktop
228344 次浏览

自动气象站命令行界面(CLI)使用 aws s3 cp将需要 --recursive参数来复制多个文件。

aws s3 cp s3://myBucket/dir localdir --recursive

默认情况下,aws s3 sync命令将复制整个目录。

aws s3 sync s3://mybucket/dir localdir

只要试验就能得到你想要的结果。

文件:

如果您想下载单个文件,可以尝试以下命令:

aws s3 cp s3://bucket/filename /path/to/dest/folder

如果您需要使用其他配置文件,特别是交叉帐户。您需要在配置文件中添加配置文件

[profile profileName]
region = us-east-1
role_arn = arn:aws:iam::XXX:role/XXXX
source_profile = default

如果你只访问一个文件

aws s3 cp s3://crossAccountBucket/dir localdir --profile profileName

刚刚使用了 AWS CLI 的版本2。对于 s3选项,现在还有一个—— dryrun 选项可以显示将要发生的情况:

aws s3 --dryrun cp s3://bucket/filename /path/to/dest/folder --recursive

sync方法首先列出源路径和目标路径,并只复制不同的路径(名称、大小等)。

cp --recursive方法列出源路径并将所有内容复制(覆盖)到目标路径。

如果目标路径中有可能的匹配,我建议将 sync作为目标路径中的一个 LIST 请求,这将为您节省许多不必要的 PUT 请求——这意味着更便宜,也可能更快。

您有很多选择可以这样做,但是最好的选择是使用 AWS CLI。

这里有一个演示:

  1. 在您的机器上下载并安装 AWS CLI:

  2. 配置 AWS CLI:

enter image description here

确保您输入了有效的 进入秘密密钥,这些密钥是您在创建帐户时收到的。

  1. 使用以下命令同步 S3存储桶:

     aws s3 sync s3://yourbucket/yourfolder /local/path
    

在上面的命令中,替换以下字段:

  • > 你的 S3桶和你想下载的文件夹。
  • 在本地系统中下载所有文件的路径。

问: aws s3 sync s3://myBucket/this_folder/object_file C:\\Users\Desktop是否也会在 C: UserDesktop 中创建“ this _ file”? 如果没有,复制/同步包括 S3的文件夹结构的解决方案是什么?我的意思是,我有许多文件在不同的 S3桶文件夹排序的年,月,日。我想复制他们本地与文件夹结构保持。