s3destroyer
Strasznie denerwuje mnie usuwanie bucketów S3. Jak usunąć bucket S3? Usuń wszystko, wersje, delete markery. Potem usuń sam bucket. Można to sobie oskryptować, ale chciałem mieć narzędzie, które po prostu usunie bucket bez zadawania zbędnych pytań. Szukałem i nie znalazłem. Może źle szukałem, ale w końcu stworzyłem swoje własne. Jako weekendowy projekt. Nazwałem je s3destroyer. Nazwa zobowiązuje 😉 I działa. Bez zbędnych pytań usuwa bucket w usłudze S3.
s3destroyer
Kod jest oczywiście dostępny na GitHub więc możesz zobaczyć, że nic złego tam nie ma. I skompilować samemu. Nie, instrukcji jak to zrobić nie będzie, to nie o tym. Programik napisany jest w Golangu i korzysta z Cobry.
Możesz też pobrać gotowy do użycia plik:
Nie zainwestowałem w certyfikat od Apple, więc w przypadku tej platformy trzeba będzie udzielić programowi pozwolenia na działanie. Po pierwszym, nieudanym, uruchomieniu, w ustawieniach systemu wybieramy Security&Privacy
klikamy Allow Anyway
I powinno zadziałać.
Działanie
Jeżeli jeszcze się nie domyśliliście to tak, to jest aplikacja konsolowa. Bez żadnych kolorowych but toników itd. Nie ma też wysublimowanej obsługi błędów. Dostaniecie surowy błąd z API. Jeżeli ktoś ma ochotę coś z tym zrobić lub znajdzie jakiś błąd to zapraszam.
Po uruchomieniu bez żadnych parametrów zostanie wyświetlona krótka pomoc
Dostępne mamy dwie komendy:
- ls
- destroy
Pierwsza z nich, ls wywołana bez parametru –name zwróci listę wszystkich bucketów.
Przed usunięciem bucket można sprawdzić co w nim jest za pomocą komendy s3destroyer ls -name nazwa_bucketa
Wyświetlane są tylko pliki. Bez wersji itd.
Ale nawet jeżeli bucket ma włączone wersjonowanie i mamy tam jakieś DeleteMarkery to można taki bucket łatwo usunąć za pomocą polecenia s3destroyer destroy --name nazwa_bucketa
Po chwili nasz niechciany bucket zostanie zniszczony. Tylko działajcie z uwagą. Nie ma żadnych pytań w rodzaju czy naprawdę chcesz usunąć ten bucket. Ma być prosto i szybko. 😉
W skrócie:
- s3destroyer ls – pokazuje listę bucketów
- s3destroyer ls –name nazwa_bucketa – lista plików w buckecie
- s3destroyer destroy –name nazwa_bucketa – usuwa bezpowrotnie bucket
Możecie podać oczywiście nazwę profilu, z którego chcecie skorzystać i ewentualnie nazwę regionu jeżeli nie macie ustawione nic jako default
s3destroyer ls --name nazwa_bucketa --profile nazwa_profilu --region region_aws