windows 从aws s3,cp或sync下载文件夹?

ldioqlga  于 2022-11-26  发布在  Windows
关注(0)|答案(7)|浏览(390)

如果要将S3上某个目录的所有内容下载到本地PC,应该使用cp或sync命令中的哪一个?
任何帮助都将不胜感激。
例如,
如果我想将“此文件夹”的所有内容下载到我的桌面上,它看起来会像这样吗?

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

h7wcgrx31#

AWS Command-Line Interface (CLI)使用aws s3 cp将需要--recursive参数来复制多个文件。

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

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

aws s3 sync s3://mybucket/dir localdir

只是实验得到你想要的结果。
文件:

a11xaf1n

a11xaf1n2#

刚刚使用了AWS CLI的第2版。对于s3选项,现在还有一个--dryrun选项来显示将发生什么:
aws s3 --dryrun cp s3://bucket/filename /path/to/dest/folder --recursive

sy5wg1nm

sy5wg1nm3#

如果您需要使用另一个配置文件,特别是交叉帐户,您需要在配置文件中添加该配置文件

[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
9udxz4iz

9udxz4iz4#

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

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

m2xkgtsf5#

您有很多方法可以做到这一点,但最好的方法是使用AWS CLI。
以下是一个演练:

  • 下载AWS CLI并将其安装到您的计算机中:
  • 使用MSI安装程序(Windows)安装AWS CLI。
  • 使用Linux、OS X或Unix的捆绑安装程序安装AWS CLI。
  • 配置AWS CLI:

确保输入有效的访问秘密密钥,这些密钥是在创建帐户时收到的。
1.使用以下命令同步S3存储桶:

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

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

  • yourbucket/yourfolder〉〉你的S3桶和你想下载的文件夹。
  • /local/path〉〉本地系统中要下载所有文件的路径。
ou6hu8tu

ou6hu8tu6#

sync方法首先列出源路径和目标路径,并仅复制差异(名称、大小等)。
cp --recursive方法列出源路径并将所有路径复制(覆盖)到目标路径。
如果您在目标路径中有可能的匹配,我会建议sync作为目标路径上的一个LIST请求,这将为您节省许多不必要的PUT请求-这意味着更便宜,可能更快。

rks48beu

rks48beu7#

问题:aws s3 sync s3://myBucket/this_folder/object_file C:\\Users\Desktop是否也会在C:\Users\Desktop中创建“this_folder”?如果不会,复制/同步包括S3的文件夹结构的解决方案是什么?我的意思是,我有许多文件在不同的S3存储桶文件夹中,按年、月、日排序。我想将它们复制到本地,并保留文件夹结构。

相关问题