web-dev-qa-db-fra.com

Impossible de supprimer un seau vide S3

J'ai un seau S3 vide à 100%. Le contrôle de version n'a jamais été activé sur le compartiment. Cependant, je ne peux toujours pas retirer le seau. J'ai essayé via la console et l'outil CLI. Sur la console, il est simplement écrit "Erreur" sans message d'erreur. Sur les cli et les API, il me dit: "Une erreur s'est produite (BucketNotEmpty) lors de l'appel de l'opération DeleteBucket: le compartiment que vous avez essayé de supprimer n'est pas vide". J'ai essayé tout ce qui suit:

aws s3 rb s3://<bucket_name> --force -> BucketNotEmpty

aws s3 rm s3://<bucket_name> --recursive -> Pas de sortie (car il est déjà vide)

aws s3api list-object-versions --bucket <bucket_name> -> Pas de sortie (car le contrôle de version n'a jamais été activé)

aws s3api list-multipart-uploads --bucket <bucket_name> -> Pas de sortie

aws s3api list-objects --delimiter=/ --prefix= --bucket <bucket_name> -> Pas de sortie (car elle est vide)

  • Il n'a pas de dépendances (il n'est pas utilisé par Cloudfront ou quoi que ce soit d'autre que je sache).
  • Le seau est vide depuis environ 5 jours.
  • J'ai pu supprimer un autre compartiment très similaire avec le même utilisateur IAM. De plus, mon utilisateur IAM dispose d'un accès administrateur.
13
Tim Martin

Je faisais face au même problème. J'ai pu résoudre le problème en allant dans le compartiment et en supprimant la "Politique de compartiment" pour le compartiment. Après cela, la suppression du compartiment a fonctionné correctement.

Je l'ai fait via la console AWS, pour un compartiment S3 créé par Elastic Beanstalk (par exemple ,asticbeanstalk-us-west-2-861587641234). J'imagine que le script de création inclut une stratégie afin que les utilisateurs ne suppriment pas accidentellement le compartiment.

43
Federico

J'ai eu un problème similaire et j'ai pu supprimer le seau après avoir attendu toute la nuit. C’est une solution assez faible mais qui peut vous éviter, à vous et à d’autres, le temps de la battre. 

Si vous ne supprimez toujours pas toutes les actions dans les commentaires, il existe des problèmes que seul le support AWS peut corriger correctement. Encore une réponse faible, mais enregistrez un ticket auprès du support AWS, puis publiez-la ici en tant que réponse pour les autres.

5
Eric Nord

C'est ce qui avait fonctionné pour moi. Je n'ai pas activé le contrôle de version sur le compartiment. Lorsque vous supprimez un objet du compartiment s3, il place un "marqueur de suppression" sur cet objet et le masque de la liste. Lorsque vous cliquez sur le bouton "Afficher" la version, vous verrez vos objets supprimés avec le marqueur de suppression. Sélectionnez cet objet (avec marqueur de suppression) et supprimez-le à nouveau. Ceci est une suppression permanente. Maintenant, votre objet est vraiment parti et votre seau est vraiment vide. Après cela, j'ai pu supprimer mon seau.

J'imagine que versioning = true signifie uniquement que s3 créera des versions de l'objet si vous téléchargez avec le même nom. 

3
Savita

J'avais le même problème et il n'y avait pas de politique. J'ajoute donc une autorisation pour le courrier électronique avec lequel j'ai été connecté et enregistré. Après m'être accordé la permission, j'ai pu supprimer le seau. Un autre compartiment était associé à une stratégie. J'ai donc supprimé la stratégie et j'ai également pu le supprimer.

1
Dustin

Parfois, après avoir tenté de supprimer un compartiment, il n'est pas réellement supprimé, mais les autorisations sont perdues.

Dans mon cas, je suis allé à l'onglet "autorisations", j'ai re-accordé des autorisations à moi-même, puis j'ai pu le supprimer.

1
Alex

Pour supprimer un compartiment de stockage Elastic Beanstalk (console)

1. Open the Amazon S3 Management Console
2. Select the Elastic Beanstalk storage bucket.
3. Choose Properties.
4. Choose Permissions.
5. Choose Edit Bucket Policy - Allow to delete and make it public.
6. Save.
7. Choose Actions and then choose Delete Bucket.
8, Type the name of the bucket and then choose Delete.
0
VYN

j'ai rendu la permission s3 au public et j'ai donné l'accès à tout le monde Ensuite, j'ai pu supprimer le seau de la console AWS.

0
Manjunath

J'utilise la console AWS pour supprimer le compartiment.

j'ai eu le même problème et j'ai essayé toutes les solutions ci-dessus et je n'ai pas trouvé de solution, alors j'ai trouvé un autre moyen… .. Mon seau était utilisé par ElasticBean et chaque fois que je le supprimais, ElasticBean en créait une automatiquement. J'ai ensuite supprimé le service ElasticBean et essayé à nouveau de supprimer le compartiment, mais cette tâche n'a pas fonctionné cette fois, le compartiment était vide mais ne permettait pas de supprimer .J'ai essayé de modifier les autorisations, mais le compartiment était toujours présent.

Enfin, j'ai supprimé la politique relative au compartiment, puis je suis revenu et j'ai supprimé le compartiment, qui était parti . Problème résolu

0
Mohamed

Pour les utilisateurs confrontés à un problème similaire ... J'ai essayé la solution @ Federico sans succès. Il y avait une autre option "Vide" à côté de supprimer.

J'ai donc d'abord vidé le seau, puis essayé de supprimer, cela a fonctionné.

0
karthick