Не удается удалить каталог из Amazon S3
Я использую веб-интерфейс Amazon S3, и когда я нажимаю правой кнопкой мыши папку X и выбираю Delete, X кажется удаленным. Затем, когда я обновляю интерфейс, X может либо исчезнуть, либо остаться; если я продолжаю нажимать обновление, папка либо отсутствует, либо присутствует. Это ошибка, или я делаю что-то неправильно? Насколько я могу судить, папка все еще присутствует; одно из моих заданий EMR жалуется, что папка вывода X все еще существует.
Ответы
Ответ 1
У меня была такая же проблема в веб-интерфейсе AWS после AWS Command Line (CLI) - удаление "рекурсивной" папки в ведре. Некоторые объекты случайно появлялись (не файлы, а фактически "папки" ) в веб-интерфейсе. Несмотря на то, что я пытался удалить эти папки в веб-интерфейсе, они все еще были там (интерфейс сказал, что операция прошла успешно...)
Решение, которое работало для меня в веб-интерфейсе AWS: Щелкните правой кнопкой мыши папку → CUT и PASTE в другую папку. Работала отлично, а затем удалила новую папку. Ушли!
Ответ 2
Пробовал то же, что и Кристоффер answer, но CUT/PASTE в другую папку заставил новую папку не удаляться.
Дальнейший взлом: создайте новое временное ведро. CUT/PASTE папку в это ведро и удалить ведро.
Ответ 3
S3 фактически не использует папки. Вместо этого разделители путей в пути объектов обрабатываются как папки. Если вы хотите удалить папку, все содержимое папки должно быть удалено.
Если есть какая-либо задержка при удалении всего содержимого, папка может продолжать существовать.
Ответ 4
По состоянию на март 2017 пользовательский интерфейс AWS Console изменился, и вы больше не можете вводить "режим версии", описанный в моем старом сообщении.
Кажется, теперь папка с файлами версий может быть удалена свободно без ограничений.
Если это не так, напишите комментарий, чтобы я мог исправить этот пост.
Предыдущая версия консоли AWS
Если вы используете консоль управления AWS, и у вас установлено управление версиями ВКЛ, вы должны быть в режиме "версия", чтобы удалить папку.
Вы вводите "режим проверки версий", перейдя в верхнюю часть страницы и рядом с тем, где говорится "Версии:", выберите кнопку Показать. Затем вы можете перейти к щелчку правой кнопкой мыши и удалить свою папку.
Надеюсь, это поможет кому-то.
Ответ 5
Пробовал различные альтернативы для удаления из веб-интерфейса, чтобы удалить папку с подпапками в ней без везения.
У меня была установка браузера S3, а затем я попытался использовать интерфейс браузера S3.
Ответ 6
Я думаю, что вижу подобное поведение. В моем ковше включено управление версиями; даже с пустой папкой/каталогом в ведре, попытка "удалить" папку/каталог в ведре через консоль веб-интерфейса AWS не приводит к тому, что она фактически удаляется. Я предполагаю, что "удаленные" версии файлов в этом пути все еще существуют (но не отображаются в веб-консоли), поэтому ведро не пусто, и по-настоящему не удаляется. Вам может потребоваться проверить с помощью инструментов CLI, если существующие удаленные версии файлов в этой папке/каталоге существуют (но не отображаются в веб-консоли) и постоянно удаляются файлы, а затем пытаются удалить папку/каталог в вашем ковше.
Ответ 7
У меня была такая же проблема, и у меня не было доступа к консоли amazon, но я мог удалить ее с помощью этого кода Java
AmazonS3Client amazonS3Client = new AmazonS3Client(basicAWSCredentials);
ObjectListing objectListing = amazonS3Client.listObjects("bucketName", "prefix");
DeleteObjectsRequest deleteObjectsRequest = new DeleteObjectsRequest("bucketName");
List<DeleteObjectsRequest.KeyVersion> keysToDelete = new ArrayList<>();
objectListing.getObjectSummaries().forEach(s3ObjectSummary -> {
keysToDelete.add(new DeleteObjectsRequest.KeyVersion(s3ObjectSummary.getKey()));
});
deleteObjectsRequest.setKeys(keysToDelete);
amazonS3Client.deleteObjects(deleteObjectsRequest);
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk</artifactId>
<version>1.7.4</version>
</dependency>
Ответ 8
У меня та же проблема, что я не могу удалить корзину s3 с сообщением "Произошла ошибка (AccessDenied) при вызове операции DeleteBucket: доступ запрещен"
Через некоторое время я удаляю политику bucket во вкладке "разрешение", кнопку "bucket policy" и она работает как чудо, с:
aws s3 rb s3://elasticbeanstalk-us-west-.... / --force
Я надеюсь, что это поможет! Есть еще один вариант
Pablo
Ответ 9
Попробуйте удалить с другой учетной записью, например учетной записью администратора. Для меня это работает только с этим методом.
Ответ 10
Попробуйте использовать новую консоль S3. Функция удаления работает для папок.
Ответ 11
имел ведро "упруго- bean -stalk" и ему пришлось удалить "политику ведра" до его удаления.
Pitney