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
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>
Den Endpoint finden sie im Service-Katalog