【问题标题】:Get only count of objects in AWS s3 bucket using php sdk使用 php sdk 仅获取 AWS s3 存储桶中的对象数
【发布时间】:2016-11-15 12:07:04
【问题描述】:

我想获取 s3 存储桶中的项目总数,我正在使用 AWS php sdk V3,有什么方法可以做到这一点。

我现在正在使用迭代器,但它正在工作,但需要花费大量时间来获取文件数量,因为存储桶有超过 20K 的文件,这是我的一段代码:

$iterator = $this->s3client->getIterator('ListObjects', array(
    'Bucket' => $this->bucket,
    'Delimiter' => '/',
    'Prefix'=>$path
));
$count = 0;
foreach ($iterator as $object) {
    $count++;
}
return $count;

【问题讨论】:

标签: php amazon-web-services amazon-s3


【解决方案1】:

您需要编写一个程序来调用ListObjects 并遍历结果(结果可能是分页的,需要多次调用)。

或者,Amazon CloudWatch 维护一个metric on the count of objects in each bucket

【讨论】:

  • 实际上我已经在使用ListObjects 列出文件,但我正在使用每页 200 个项目的分页,但我需要在页面顶部显示总计数。并且bucket有超过20K的文件,未来还会不断增加
猜你喜欢
  • 1970-01-01
  • 2016-05-10
  • 1970-01-01
  • 1970-01-01
  • 2017-03-06
  • 2012-02-14
  • 1970-01-01
  • 2015-09-12
  • 2017-05-06
相关资源
最近更新 更多