【问题标题】:How to download an S3 bucket's directory structure (without files)?如何下载 S3 存储桶的目录结构(无文件)?
【发布时间】:2016-01-04 00:55:31
【问题描述】:

我需要递归下载存储桶中文件夹的目录树,但需要注意的是不要下载任何文件本身(它们很大)。这是我目前所拥有的:

s3cmd --dry-run --recursive --no-delete-removed --verbose --rinclude='^[^.]*$' 
    --rexclude='[^.]*$' sync s3://bucket_name/folder/ ~/Downloads/local_folder/

正确跳过文件,但不下载文件夹。

这是我发现的一些相关问题

【问题讨论】:

  • 如您引用的另一个问题的答案中所述,没有可下载的文件夹。 S3 中的文件夹在很大程度上是一种错觉,是键名中/ 分隔符的副作用...... s3cmd 可能没有一种简单的方法来下载实际不存在的东西。对 ListObjects 的 REST 接口的直接 API 调用允许您获取“公共前缀”——“文件夹”——但我不知道 s3cmd 是否以有用的方式利用了这一点。

标签: amazon-s3 s3cmd


【解决方案1】:

Amazon S3 没有文件夹。最接近的概念是CommonPrefix,它允许列出目录“内”的文件。

您必须编写自己的程序(例如在 Python 中使用 boto)来检索这些公共前缀并在本地创建目录结构。

顺便说一句,现在最好使用AWS Command-Line Interface (CLI) 而不是s3cmd,因为它可以与所有 AWS 服务一起使用,而不仅仅是 Amazon S3。

【讨论】:

    猜你喜欢
    • 2017-02-16
    • 2016-10-17
    • 1970-01-01
    • 2018-12-31
    • 1970-01-01
    • 2020-12-10
    • 2015-05-20
    • 2021-12-17
    • 1970-01-01
    相关资源
    最近更新 更多