2017-01-23 30 views
9

Mam wiadro S3, które jest w 100% puste. Wersja nigdy nie była włączona na wiadrze. Jednak nadal nie mogę usunąć wiadra. Próbowałem przez narzędzie konsoli i CLI. Na konsoli pojawia się komunikat "Błąd" bez komunikatu o błędzie. Z cli i api mówi mi: "Wystąpił błąd (BucketNotEmpty) podczas wywoływania operacji DeleteBucket: wiadro, które próbujesz usunąć, nie jest puste". Próbowałem wszystkie z poniższych kryteriów:Nie można usunąć pustego wiadra S3

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

aws s3 rm s3://<bucket_name> --recursive -> bez wyjścia (bo to już pusty)

aws s3api list-object-versions --bucket <bucket_name> -> Brak wyjścia (bo wersjonowanie nigdy nie został włączony)

aws s3api list-multipart-uploads --bucket <bucket_name> -> Brak wyjść

aws s3api list-objects --delimiter=/ --prefix= --bucket <bucket_name> -> Brak wyjścia (ponieważ jest puste)

  • Nie ma zależności (nie jest używany przez chmurę lub czegokolwiek, o czym wiem).
  • Wiadro zostało puste około 5 dni.
  • Udało mi się usunąć kolejne bardzo podobne wiadro z tym samym użytkownikiem IAM. Dodatkowo mój użytkownik IAM ma uprawnienia administratora.
+0

Jak długo było puste? – Alden

+0

Zostało pustych przez około pięć dni @Alden –

+1

Otworzyłbym bilet z obsługą AWS –

Odpowiedz

3

Miałem podobny problem i udało mi się usunąć wiadro po odczekaniu na noc. To jest dość słabe rozwiązanie, ale może zaoszczędzić Tobie i innym trochę czasu przed tym, jak go pobić.

Jeśli nadal nie usuwa się po wszystkich czynnościach w komentarzach, są rzeczy, które tylko obsługa AWS może naprawić. Ponownie słaba odpowiedź, ale zarejestruj bilet z obsługą AWS, a następnie opublikuj swoją odpowiedź tutaj jako odpowiedź dla innych.

3

To właśnie dla mnie zadziałało. Nie miałem włączonej wersji na wiadrze. Gdy usuniesz obiekt z zasobnika s3, umieszcza on "znacznik usuwania" na tym obiekcie i ukrywa go w aukcji. Po kliknięciu przycisku "pokaż" wersję zobaczysz usunięte obiekty ze znacznikiem usuwania. Wybierz ten obiekt (ze znacznikiem usuwania) i usuń ponownie. To jest trwałe usunięcie. Teraz twój obiekt naprawdę zniknął, a twoje wiadro jest naprawdę puste. Potem mogłem usunąć moje wiadro.

Domyślam się, że versioning = true oznacza tylko, że s3 utworzy wersje obiektu, jeśli załadujesz plik o tej samej nazwie.

1

Czasami po usunięciu wiadra nie jest on faktycznie usuwany, ale uprawnienia są tracone.

W moim przypadku, ja poszedłem do zakładki „uprawnienia”, ponownie przyznano uprawnienia do siebie, a następnie był w stanie usunąć go

3

byłem w obliczu tego samego problemu. Udało mi się naprawić problem, wchodząc do zasobnika i usuwając "Zasób kubełkowy" dla wiaderka. Po tym usunięciu wiadra działało poprawnie.

Zrobiłem to poprzez konsolę AWS, dla wiadra S3 stworzonego przez Elastic Beanstalk (np. Elasticbeanstalk-us-west-2-861587641234). Wyobrażam sobie, że skrypt tworzenia zawiera zasady, aby użytkownicy nie przypadkowo usunęli wiaderko.