Posts Tagged ‘S3’

Sonntag, 27. September 2020

Nicht-leere Amazon AWS Glacier Vaults löschen

Ich habe vor einigen Monaten meine Storage-as-a-Service-Optionen konsolidiert: Tarsnap habe ich wegen den horrenden Kosten gekündet und setze nun auf Duplicity mit Backblaze B2. Und da ich gerade dabei war, lasse ich Arq, welches meine Apple Photos (früher: iPhoto Library) sichert, neu auch auf Backblaze sichern (vorher: AWS Glacier).

Um wiederkehrende Kosten zu sparen, wollte ich nun meine AWS Glacier Vaults löschen. Das geht aber nicht über das Amazon GUI, respektive nicht so einfach wie man sich das vorstellt:

Die Lösung ist ein Script, das im Internet herumgeistert. Ich fand es über Deleting Non-empty AWS Glacier Vaults in folgendem Github-Repository: leeroybrun/glacier-vault-remove.

Das schwierigste war, die mit dem Vault verknüpften AWS-Credentials ausfindig zu machen (ich habe offenbar mehrere). Diese musste man in credentials.json speichern …

{
	"AWSAccessKeyId": "...",
	"AWSSecretKey":   "..."
}

… und dann das Script ausführen:

$ python3 removeVault.py eu-west-1 ABCDE_iPhoto_Library

Das ganze liess ich in einer screen-Session auf einem meiner Debian GNU/Linux-Server laufen, denn das Löschen dauerte viele, viele Stunden.

Tags: , , , , , , , ,
Labels: Uncategorized

Keine Kommentare | neuen Kommentar verfassen

Montag, 2. April 2012

Einen Amazon S3-Bucket leeren und dann löschen

Vor einiger Zeit bin ich von JungleDisk auf tarsnap migriert. Als sozusagen „letzte“ Amtshandlung gehört nun dazu, dass ich den Amazon S3-Bucket lösche. Dies ist gar nicht so einfach, weil nur leere Buckets gelöscht werden können — das heisst, alle darin gespeicherten Objekte müssen zuerst entfernt werden.

Da mir die Sache mit Cyberduck zu langwierig erschien (und gelegentlich zu komischen Fehlermeldungen führte), habe ich mich nach einem Kommandozeilen-Tool umgesehen.

s3sync

Fündig wurde ich mit s3sync. Diese Sammlung von Ruby-Scripts erlaubt es, mit Amazon S3 zu kommunizieren.

Nachdem ich die Script-Sammlung heruntergeladen und entpackt hatte, musste ich zuerst die zwingend benötigte Konfigurationsdatei unter $HOME/.s3conf/s3config.yml ablegen. Deren Inhalt:

AWS_ACCESS_KEY_ID: ...
AWS_SECRET_ACCESS_KEY: ...

AWS_CALLING_FORMAT: SUBDOMAIN

Der Kommandozeilenbefehl zum Löschen der Dateien im Bucket lautete folgendermassen:

./s3cmd.rb -v deleteall jd2-5d95f837098760279d8c32d215671111-eu

Quelle: How to delete an Amazon S3 bucket with lots of files in it

Zeichensatz-Problem

Leider gab es — wohl auf Grund der Herkunft meiner Dateien von einem Mac OS X-Dateisystem — immer wieder folgende Fehlermeldung:

./s3cmd.rb:119:in `iconv': "\314\210s Text innen2 "... (Iconv::IllegalSequence)
        from ./s3cmd.rb:119:in `s3cmdMain'
        from ./s3cmd.rb:245

Deshalb empfiehlt es sich, den Programmcode an zwei Stellen anzupassen, in welchen auf iconv zurückgegriffen wird:

... Iconv.iconv($S3SYNC_NATIVE_CHARSET, ...

wird zu

... Iconv.iconv($S3SYNC_NATIVE_CHARSET + "//IGNORE", ...

Quelle: Ignore Iconv::IllegalSequence while using Ruby WWW::Mechanize

Tags: , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen