Amazon S3 удаляет пустую папку из переполнения стека

Я пытаюсь удалить объекты, и когда все объекты удалены, я хочу удалить основную папку.

сейчас он работает нормально, когда я удаляю ключ объекта в папке, и когда папка пуста, папка будет удалена, но когда я нажимаю на последнюю основную папку, такую ​​как (folder1 / folder2 /) и folder1, одна становится пустой после того, как folder2 удален, я не могу удалить эту папку.

мой PHP-код выглядит так.

$s3 = new S3Client([
'version' => 'latest',
'region'  => AMAZON_S3_REGION,
'credentials' => [
'key'    => AMAZON_KEY,
'secret' => AMAZON_SECRET
]
]);

$response = $s3->listObjects([
'Bucket' => AMAZON_S3_BUCKET,
'Prefix' => $prefix_dir
]);

$keys = [];
foreach($response['Contents'] AS $val) {
$keys[]['Key'] = $val['Key'];
}

$result = $s3->deleteObjects([
'Bucket' => AMAZON_S3_BUCKET,
'Objects' => $keys
]);

когда я пытаюсь удалить путь к папке в одиночку, я получаю код состояния 204, но почему?

0

Решение

Вместо deleteObjects попробуйте использовать deleteMatchingObjects и проходя пустой prefix или строка, соответствующая некоторой папке.

$s3->deleteMatchingObjects($bucket);
// or inner of folder
$s3->deleteMatchingObjects($bucket, 'folder1/');
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector