2016-11-15 129 views
-2

我想使用AWS php sdk V3獲取s3存儲桶中的所有項目的數量,有沒有什麼辦法可以做到這一點。只使用php sdk獲取AWS s3存儲桶中的對象的數量

我使用迭代器,但現在它的工作,但考慮那麼多的時間來獲取文件的數量,因爲桶有更多的20K以上的文件,這是我的一段代碼:

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

爲什麼不通過[API的文檔](http://docs.aws.amazon.com/aws-sdk-php/v3/api/)? – JNYRanger

+0

看起來你並不瞭解我的問題,儘管我編輯了我的問題以使其更清楚,我希望你現在能夠理解 –

+1

如果人們有興趣爲這些類型的問題創建一個場所,請幫助支持[專注於StackExchange雲計算網站](http://area51.stackexchange.com/proposals/96256/practical-cloud-computing)。 –

回答

3

你需要編寫一個程序來呼叫ListObjects並循環查看結果(結果可能是分頁的,需要多次調用)。

另外,Amazon CloudWatch維護着metric on the count of objects in each bucket

+0

其實我已經使用'ListObjects'列出了文件,但是我使用每頁200個項目的分頁,但是我需要顯示一個總數作爲頁面的頂部。並且存儲桶有超過20K的文件,並且將來還會繼續增加 –

相關問題