Windows 从aws s3、cp或sync下载文件夹?

Windows 从aws s3、cp或sync下载文件夹?,windows,amazon-web-services,amazon-s3,Windows,Amazon Web Services,Amazon S3,如果我想将S3上目录的所有内容下载到本地PC,我应该使用cp或sync哪个命令 任何帮助都将不胜感激 比如说, 如果我想把“这个文件夹”的所有内容下载到我的桌面上,它是这样的吗 aws s3 sync s3://"myBucket"/"this folder" C:\\Users\Desktop 使用来自的aws s3 cp将需要--recursive参数来复制多个文件 aws s3 cp s3://myBucket/dir localdir --recursive 默认情况下,aws s

如果我想将S3上目录的所有内容下载到本地PC,我应该使用cp或sync哪个命令

任何帮助都将不胜感激

比如说,

如果我想把“这个文件夹”的所有内容下载到我的桌面上,它是这样的吗

 aws s3 sync s3://"myBucket"/"this folder" C:\\Users\Desktop

使用来自的
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——干式运行cp s3://bucket/filename/path/to/dest/folder——递归
sync
方法首先列出源路径和目标路径,并仅复制差异(名称、大小等)

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


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

您有很多选择,但最好的选择是使用AWS CLI

这里有一个步行通道:

  • 在您的计算机中下载并安装AWS CLI:

  • 配置AWS CLI:

  • 确保输入创建帐户时收到的有效访问机密密钥

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

     aws s3 sync s3://yourbucket/yourfolder /local/path
    
  • 在上述命令中,替换以下字段:

    • yourbucket/yourfolder
      >>您的S3存储桶和要下载的文件夹
    • /local/path
      >本地系统中要下载所有文件的路径

    我花了几分钟的时间才弄清楚从何处获取aws cli。这里是:@dnafinition请创建一个新问题,而不是在对旧问题的评论中提问。
    aws s3 cp s3://myBucket/dir localdir--recursive
    。这很有魅力。如果跳过--recursive标志,它将抛出一个毫无帮助的错误:
    致命错误:调用HeadObject操作时发生错误(404):键“myBucket”不存在
    ,但如果文件大小以GBs为单位,则,建议是什么?@KanagaveluSugumar请创建一个新问题,而不是通过对旧问题的评论提问。