OCS API

Dokumentacja OCS API

API OCS jest w pełni zgodne z Object Storage z pakietu OpenStack w wersji 1.0. Oznacza to, że można korzystać z OCS wykorzystując identyczną składnię zapytań.

Pełna dokumentacja OpenStack Ocata Object Storage API w języku angielskim znajduje się TUTAJ.

Przykłady wywołań API

Autoryzacja SWAUTH

get
Pobranie tokenu

https://ocs-pl.oktawave.com/auth/v1.0
Wysyła żądanie utworzenia tokena autoryzującego: curl -i https://ocs-pl.oktawave.com/auth/v1.0' -H 'X-Auth-User: KONTO:USER' -H 'X-Auth-Key: HASŁO' Parametry żądania i odpowiedź możesz znaleźć poniżej.
Request
Response
Request
Headers
X-Auth-Token-Lifetime
optional
number
300
X-Auth-New-Token
optional
boolean
true
X-Auth-Key
required
string
HASŁO
X-Auth-User
required
string
KONTO:USER
Response
200: OK
W odpowiedzi otrzymasz dwa istotne elementy, potrzebne Ci w celu wysyłania dalszych zapytań: StorageToken oraz StorageURL. StorageURL jest stały dla konta w Oktawave. StorageToken jest generowany na żądanie. Domyślnie czas życia tokenu wynosi w przybliżeniu ~24h (86388 sekund - wartość domyślna). Korzystając z odpowiednich metadanych można zmienić domyślną wartość lub wygenerować nowy token.
< X-Storage-Token: TOKEN
< X-Storage-Url: https://ocs-pl.oktawave.com/v1/STORAGEURL

Kontenery

get
Listowanie wszystkich kontenerów na koncie

https://ocs-pl.oktawave.com/v1/STORAGEURL
Listowanie wszystkich kontenerów na koncie: curl -X GET -i 'https://ocs-pl.oktawave.com/v1/STORAGEURL?format=json' -H 'X-Auth-Token: TOKEN'
Request
Response
Request
Path Parameters
format
required
string
json
Headers
X-Auth-Token
required
string
TOKEN
Response
200: OK

Aby pobrać listę wszystkich kontenerów należy utworzyć token podając dane uwierzytelniające należące do użytkownika posiadającego rolę administratora.

put
Dodanie nowego kontenera

https://ocs-pl.oktawave.com/v1/STORAGEURL/KONTENER?format=json
Żądanie dodania nowego kontenera ma następującą postać: curl -X PUT -i 'https://ocs-pl.oktawave.com/v1/STORAGEURL/KONTENER?format=json' -H 'X-Auth-Token: TOKEN'
Request
Response
Request
Path Parameters
KONTENER
required
string
Nazwa kontenera
STORAGEURL
required
string
Wygenerowany w metodzie pobierania tokena.
Headers
X-Auth-Token
required
string
Token wygenerowany w metodzie pobierania tokena
Query Parameters
format
optional
string
Format wygenerowanej odpowiedzi: json|xml|text
Response
200: OK

delete
Usuwanie kontenera

Request
Response
Request
Path Parameters
optional
string
Response
200: OK
curl -X DELETE -i 'https://ocs-pl.oktawave.com/v1/STORAGEURL/KONTENER?format=json' -H 'X-Auth-Token: TOKEN'

head
Pobieranie metadanych

https://pl-ocs.oktawave.com/STORAGEURL/KONTENER?format=json
Request
Response
Request
Path Parameters
optional
string
Response
200: OK

Wyświetlanie metadanych:

curl -X HEAD -i 'https://ocs-pl.oktawave.com/v1/STORAGEURL/KONTENER?format=json' -H 'X-Auth-Token: TOKEN'

post
Aktualizacja metadanych

Request
Response
Request
Path Parameters
optional
string
Response
200: OK

Tworzenie/aktualizacja/usuwanie metadanych:

curl -X POST -i 'https://ocs-pl.oktawave.com/v1/STORAGEURL/KONTENER?format=json' -H 'X-Auth-Token: TOKEN' -H "X-Container-Meta-Author: AUTOR" -H "X-Container-Meta-Web-Directory-Type: text/directory"

Obiekty

get
Pobieranie zawartości obiektu i metadanych

Request
Response
Request
Path Parameters
optional
string
Response
200: OK

Pobieranie zawartości i metadanych:

curl -X GET -i 'https://ocs-pl.oktawave.com/v1/STORAGEURL/KONTENER/OBIEKT?format=json' -H 'X-Auth-Token: TOKEN'

put
Tworzenie obiektu

Request
Response
Request
Path Parameters
optional
string
Response
200: OK

Tworzenie lub przenoszenie:

curl -X PUT -i 'https://ocs-pl.oktawave.com/v1/STORAGEURL/KONTENER/OBIEKT?format=json' -H 'X-Auth-Token: TOKEN' -d 'Zawartość' -H "Content-Type: text/html; charset=UTF-8"

Wysyłanie obiektu:

curl -X PUT -i 'https://ocs-pl.oktawave.com/v1/STORAGEURL/KONTENER/OBIEKT?format=json' -H 'X-Auth-Token: TOKEN' -T 'PLIK.TXT'

get
Kopiowanie obiektu

Request
Response
Request
Path Parameters
optional
string
Response
200: OK

Kopiowanie:

curl -X COPY -i 'https://ocs-pl.oktawave.com/v1/STORAGEURL/KONTENER/OBIEKT?format=json' -H 'X-Auth-Token: TOKEN' -H "Destination: KONTENER_DOCELOWY/OBIEKT_DOCELOWY"

delete
Usuwanie obiektu

Request
Response
Request
Path Parameters
optional
string
Response
200: OK
curl -X DELETE -i 'https://ocs-pl.oktawave.com/v1/STORAGEURL/KONTENER/OBIEKT?format=json' -H 'X-Auth-Token: TOKEN'

head
Pobieranie metadanych

Request
Response
Request
Path Parameters
optional
string
Response
200: OK
curl --head 'https://ocs-pl.oktawave.com/v1/STORAGEURL/KONTENER/OBIEKT?format=json' -H 'X-Auth-Token: TOKEN'

post
Aktualizacja metadanych

Request
Response
Request
Path Parameters
optional
string
Response
200: OK

Wysyłanie i aktualizacja metadanych:

curl -X POST -i 'https://ocs-pl.oktawave.com/v1/STORAGEURL/KONTENER/OBIEKT?format=json' -H 'X-Auth-Token: TOKEN' -H "X-Object-Meta-KSIAZKA: TYTUL_KSIAZKI"