Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 下载多个文件S3_Amazon Web Services_Amazon S3_Aws Sdk - Fatal编程技术网

Amazon web services 下载多个文件S3

Amazon web services 下载多个文件S3,amazon-web-services,amazon-s3,aws-sdk,Amazon Web Services,Amazon S3,Aws Sdk,我想知道是否有一种方法可以下载zip格式(或其他压缩格式)的多个文件(一个bucket或一个文件夹)(Rest或SDK)。正如Edward在评论中指出的那样,没有直接的方法可以从S3下载压缩格式的文件 我最近解决了一个与您类似的问题,我最终用一个bash脚本为我完成了这项工作: #!/bin/bash aws s3 sync s3://bucket1 /destination/bucket1 aws s3 sync s3://bucket2 /destination/bucket2 ... t

我想知道是否有一种方法可以下载zip格式(或其他压缩格式)的多个文件(一个bucket或一个文件夹)(Rest或SDK)。

正如Edward在评论中指出的那样,没有直接的方法可以从S3下载压缩格式的文件

我最近解决了一个与您类似的问题,我最终用一个bash脚本为我完成了这项工作:

#!/bin/bash

aws s3 sync s3://bucket1 /destination/bucket1
aws s3 sync s3://bucket2 /destination/bucket2
...
tar -zcvf bucket1.tar.gz /destination/bucket1
tar -zcvf bucket2.tar.gz /destination/bucket2
...
工作流程如下:

  • 执行脚本

  • 您可以使用适当的命令获得所需的压缩格式和目的地等。

    下载多个文件的另一种方法:

    aws s3 cp s3://<your bucket name> . --recursive
    
    aws s3 cp s3://--递归的
    
    不,你不能。目前,AWS没有在一个bucket中下载所有对象。但是,如果需要,您可以将所有文件下载到本地存储中并创建压缩文件。AWS CLI还提供将bucket中的所有对象下载到本地存储的功能。