Пустая папка в контексте S3 - это объект S3 нулевого размера, ключ которого заканчивается разделителем вашей папки, обычно /
, например images/cats/
.
Если приложения, использующие этот S3ведро не нуждается в этих объектах папок, но вместо этого может вывести наличие структуры папок из наличия файловых объектов, например, вывести папку images/dogs/
, когда они увидят файл images/dogs/terrier.png
, тогда одно решение для удаления всех пустых папокпросто перечислить все объекты, оканчивающиеся на /
, а затем удалить все объекты нулевого размера.Это приведет к удалению всех объектов папок.
Если приложениям нужны эти объекты папок, чтобы они оставались для непустых папок, вы бы сделали что-то другое.Например, перечислите все объекты S3 в корзине, извлеките те, которые представляют папки (нулевого размера, оканчивающиеся на /
), а затем посмотрите, присутствует ли тот же префикс в любом другом объекте, не являющемся папкой.
Кроме того, если вы обнаружите, что перечисление содержимого всего сегмента становится проблематичным (например, если у вас есть миллионы объектов), то вы можете рассмотреть возможность использования отчета об инвентаризации S3 для управления вашим процессом.