【问题标题】:How can I retrieve an S3 bucket contents in a hierarchical manner?如何以分层方式检索 S3 存储桶内容?
【发布时间】:2013-03-08 06:14:21
【问题描述】:

我工作的公司将来自其客户的已处理文件存储在其服务器上,并为每个客户提供一个简单的页面,该页面具有指向服务器上文件目录的链接。每个客户端都有一个文件夹,其中任何一个都可能有许多子文件夹。

我最近将此设置移至 Amazon S3 存储桶。我的问题是,当我检索存储桶的内容时(使用我在网上找到的 S3 php 类),它会返回存储桶全部内容的大量 FLAT 数组。我可以对其进行过滤,以便每个客户只能看到他们的目录,但是将这种分层数据结构转换为以后显示被证明是一个巨大的麻烦。

是否有任何函数以某种方式返回 S3 项目以反映其结构?如果不是这样,这可能会变成一个关于从大数组平面数组中生成多维数组的问题。

谢谢! 克里斯

【问题讨论】:

    标签: php data-structures amazon-s3


    【解决方案1】:

    S3 支持使用前缀和分隔符分层列出键,更多信息请参阅docs

    【讨论】:

      【解决方案2】:

      使用前缀和分隔符获取文件列表。

          <?php        
          $prefix = "jsondata/$folderName/$subFolderName/temp/";
          //$bucketname is a root bucket name   
          $ret = $s3->getObjectsByBucket($bucketname, array(
              'prefix'    => $prefix,
              'delimiter' => ''
          ));
          ?>
      

      【讨论】:

        猜你喜欢
        • 2013-01-18
        • 1970-01-01
        • 2021-07-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-29
        • 2023-03-26
        • 1970-01-01
        相关资源
        最近更新 更多