从aws s3,cp或同步下载文件夹?

BFl*_*int 81 windows amazon-s3 amazon-web-services

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

任何帮助将受到高度赞赏.

例如,

如果我想将"这个文件夹"的所有内容下载到我的桌​​面,它会是这样的吗?

 aws s3 sync s3://"myBucket"/"this folder" C:\\Users\Desktop
Run Code Online (Sandbox Code Playgroud)

Joh*_*ein 132

使用aws s3 cpAWS命令行界面(CLI)将要求--recursive参数来复制多个文件.

aws s3 cp s3://myBucket/dir localdir --recursive
Run Code Online (Sandbox Code Playgroud)

aws s3 sync默认情况下,该命令将复制整个目录.它只会复制新的/修改过的文件.

aws s3 sync s3://mybucket/dir localdir
Run Code Online (Sandbox Code Playgroud)

只是尝试获得你想要的结果.

文档:

  • ```aws s3 cp s3://myBucket/dir localdir --recursive```。这就像一个魅力。如果跳过 --recursive 标志,它会抛出一个相当无用的错误:``致命错误:调用 HeadObject 操作时发生错误 (404):键“myBucket”不存在```` (4认同)
  • 花了我几分钟来弄清楚哪里可以获得aws cli.这是:https://aws.amazon.com/cli/ (3认同)
  • @KanagaveluSugumar 请创建一个新问题,而不是通过对旧问题的评论来提问。 (2认同)

Mar*_*uby 15

刚刚使用了 AWS CLI 的版本 2。对于 s3 选项,现在还有一个 --dryrun 选项来向您展示会发生什么:

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


myP*_*avi 6

如果您需要使用其他配置文件,尤其是跨帐户。您需要在配置文件中添加配置文件

[profile profileName]
region = us-east-1
role_arn = arn:aws:iam::XXX:role/XXXX
source_profile = default
Run Code Online (Sandbox Code Playgroud)

然后如果您只访问一个文件

aws s3 cp s3://crossAccountBucket/dir localdir --profile profileName
Run Code Online (Sandbox Code Playgroud)


gCo*_*Coh 5

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

aws s3 cp s3://bucket/filename /path/to/dest/folder
Run Code Online (Sandbox Code Playgroud)