2016-11-15 3 views
-2

Ich möchte die Gesamtzahl der Elemente in s3 Eimer zählen Ich verwende AWS PHP SDK V3, gibt es eine Möglichkeit, dies zu tun.Erhalten Sie nur die Anzahl der Objekte in AWS s3 Bucket mit PHP sdk

ich Iterator verwende jetzt aber es funktioniert aber so viel Zeit Anzahl von Dateien zu erhalten, weil Eimer mehr mehr als 20K-Dateien hat, hier ist mein Stück Code:

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

Warum gehen Sie nicht durch die [API-Dokumentation] (http://docs.aws.amazon.com/aws-sdk-php/v3/api/)? – JNYRanger

+0

Sieht so aus, als hättest du meine Frage nicht verstanden, obwohl ich meine Frage bearbeitet habe, um es klarer zu machen. Ich hoffe, du verstehst jetzt –

+1

Wenn Leute daran interessiert sind, einen Ort für diese Art von Fragen zu schaffen, helfe den Vorschlag für eine [ dedizierte Cloud Computing-Site auf StackExchange] (http://area51.stackexchange.com/proposals/96256/practical-cloud-computing). –

Antwort

3

, würden Sie Sie müssen ein Programm schreiben, um ListObjects aufzurufen und die Ergebnisse durchzuschleifen (die Ergebnisse können paginiert sein und mehrere Aufrufe erfordern).

Alternativ dazu verwaltet Amazon CloudWatch eine metric on the count of objects in each bucket.

+0

Eigentlich listet ich bereits Dateien mit 'ListObjects' auf, aber ich benutze die Paginierung mit 200 Elementen pro Seite, aber ich muss die Gesamtanzahl als oben auf der Seite anzeigen. und Bucket hat mehr als 20K Datei und es wird in Zukunft weiter zunehmen –

Verwandte Themen