Список объектов в определенной папке на Amazon S3

Я пытаюсь получить список Object под определенной папкой в ​​моем ковше.

Я знаю, что для получения списка всех моих объектов я делаю:

  $objects = $client->getIterator('ListObjects', array( 'Bucket' => $bucket )); 

Я хочу получить только объекты под папкой my/folder/test . Я попытался добавить

  'key' => "my/folder/test", 

А также

  'prefix' => "my/folder/test", 

Но он просто возвращает все объекты в моем ковше.

Solutions Collecting From Web of "Список объектов в определенной папке на Amazon S3"

Вы должны использовать Prefix чтобы ограничить поиск определенным каталогом (общим префиксом).

 $objects = $client->getIterator('ListObjects', array( "Bucket" => $bucket, "Prefix" => "your-folder/" )); 

Ответ выше, однако я решил, что поставлю полный рабочий пример, который можно скопировать и вставить непосредственно в файл php и запустить

 use Aws\S3\S3Client; require_once('PATH_TO_API/aws-autoloader.php'); $s3 = S3Client::factory(array( 'key' => 'YOUR_KEY', 'secret' => 'YOUR_SECRET', 'region' => 'us-west-2' )); $bucket = 'YOUR_BUCKET_NAME'; $objects = $s3->getIterator('ListObjects', array( "Bucket" => $bucket, "Prefix" => 'some_folder/' //must have the trailing forward slash "/" )); foreach ($objects as $object) { echo $object['Key'] . "<br>"; }