Hetzner Object Storage mit Spring Boot nutzen

15. Dez. 2024

Hetzner hat im Dezember 2024 seinen Object Storage veröffentlicht. Drei Regionen stehen zur Verfügung: Nürnberg, Falkenstein und Helsinki. Die API ist S3-kompatibel, was bedeutet, dass man das AWS SDK direkt nutzen kann, man muss lediglich den Endpunkt auf Hetzner umleiten.

Die Konfiguration in Spring Boot ist überschaubar: AWS SDK als Abhängigkeit, die Zugangsdaten und den Hetzner-Endpunkt in die application.yml, eine Properties-Klasse und ein S3Client-Bean mit endpointOverride. Das war es.

Was ich bei dem Projekt als sinnvolles Muster eingeführt habe: ein temporärer Bucket für Uploads und ein permanenter Bucket für bestätigte Dateien. Nutzer laden zunächst in den Temp-Bucket hoch, und erst wenn der eigentliche Vorgang abgeschlossen wird, kopiert das Backend die Datei in den permanenten Bucket. So sammeln sich keine verwaisten Dateien von abgebrochenen Vorgängen an.

Die Zugangsdaten werden einmalig in der Hetzner Cloud Console unter "Security" generiert und sind danach nicht mehr einsehbar. Also sofort sichern.

Den vollständigen Artikel mit allen Codebeispielen gibt es auf Medium.