Zum Hauptinhalt springen

Objektspeicher (Swift, S3)

Mit Objektspeicher lassen sich Dateien mittels einer REST-API (über HTTPS) speichern und abrufen. Wir unterstützen Objektspeicher mit der Swift API sowie der sehr verbreiteten S3 API.

Swift vs S3

Sowohl die Swift- als auch die S3 API sind offen und standardisiert. Welche der beiden APIs sie verwenden hängt ganz von ihrem Use-Case und ihrer eingesetzten Software ab.

Wenn ihre Standardsoftware sowohl Swift als auch S3 unterstützt empfehlen wir die Nutzung von Swift. Wenn sie jedoch eigene Software entwickeln empfehlen wir, auf der deutlich verbreiteteren S3 API aufzubauen.

Container verwalten

info

Die Bezeichnung "Container" stammt von Swift. In S3 werden Container als "Buckets" bezeichnet.

Alle Container im Projekt auflisten

openstack container list

Einen Container erstellen

openstack container <container_name>

Objekte im Container auflisten

openstack object list <container_name>

Objekt hochladen

openstack object save <container_name> <object_name>

Einen Container inklusive aller Objekte löschen

openstack container delete --recursive <container_name>

S3 Zugang

Der Zugriff über S3 erfordert dedizierte Zugangsdaten. Diese werden wie folgt erzeugt:

openstack ec2 credentials create

Der Befehl gibt unter anderem die Felder access sowie secret zurück.

Beispiel - AWS CLI

Zugangsdaten setzen

aws configure
  • AWS Access Key ID -> <access>
  • AWS Secret Access Key -> <secret>
  • Default region name -> RegionOne
  • Default output format -> None

Nun kann die s3api verwendet werden. Hierzu muss noch der Endpoint angegeben werden.

aws s3api list-objects \
--endpoint-url https://storage.occ2.scaleup.cloud \
--bucket <bucket_name>
info

Den Endpoint finden sie im Service-Katalog