CloudVPS Object Store QuickStart

In deze quickstart kunt u een voorbeeld vinden op basis van curl. Eerst wordt wat algemene informatie over de API gegeven.

API Information

Authentication Alternatives

Meer informatie over OpenStack Authenticatie kunt u hier vinden.

Algemene HTTP + basic authentication:

Url   https://<$project_id>.objectstore.eu/
Gebruikersnaam   <$username>
Wachtwoord <$password>

Openstack token-based authentication:

Auth url: https://identity.stack.cloudvps.com/v2.0
Project id: <your project id>
Tenant id: <your project id>
Username: <your username>
Password: <your password>

Rackspace CloudFiles:

Authenticatie host  <$project_id>.objectstore.eu>
Gebruikersnaam  <$username>
Wachtwoord <$password>

Amazon S3:

Hostname  <$project_id>.objectstore.eu
Access key  <$ec2.access>
Secret Key  <$ec2.secret>

Bekijk hier onze documentatie om te zien hoe u Amazone S3 access tokens genereert.

API

De API gebruikt HTTP REST calls (voornamelijk GET, PUT en DELETE) om objecten te managen. Gestructureerde data wordt in het JSON-format gecommuniceerd. Hier kunt u meer informatie over deze API vinden: http://docs.openstack.org/api/openstack-object-storage/1.0/content/.

Beschikbare Software Development Kits (SDKs) kunt u hier vinden: https://wiki.openstack.org/wiki/SDKs. Onze CloudVPS-specifieke documentatie voor SDKs en andere ontwikkeltools en programmeertalen kunnen hier gevonden worden: https://www.cloudvps.nl/community/knowledge-base/category/object-store-dev-docs

CURL Voorbeeld

In deze voorbeelden gebruiken we de command line tool curl om te laten zien hoe de API werkt op HTTP-niveau. In de praktijk is het gemakkelijker om een library te gebruiken voor de door u geselecteerde programmeertaal. Voor deze voorbeelden heeft u uw project-id, username en password nodig. U kunt deze vinden in de welkomstmail die u voor uw object store ontvangen heeft. In dit voorbeeld gebruiken we 'aaaa0000cccc66669999bbbb00004444' voor het project-id, 'username' voor de username en 'PaSsw0rd' voor het password.

Containers

Objecten binnen een object store worden toegewezen aan een 'container'. Containers kunnen als bestandsmappen worden gezien, het belangrijkste verschil is dat er maar één hierarchisch niveau is: containers kunnen alleen bestanden bevatten, geen andere containers.

Een container kan worden gecreëerd met een simpel PUT request.

curl -X PUT --user username:PaSsw0rd \ https://aaaa0000cccc66669999bbbb00004444.objectstore.eu/photos/

Het antwoord is een HTTP 202 (http://en.wikipedia.org/wiki/List_of_HTTP_status_codes):

202 Accepted The request is accepted for processing.

Het managen en opvragen van objecten

Vervolgens kunnen objecten worden ge-upload, ook dit wordt met een PUT commando gedaan:

curl -X PUT -T landscape.jpg --user username:PaSsw0rd \ https://aaaa0000cccc66669999bbbb00004444.objectstore.eu/photos/landscape...

Het bestand is nu opgeslagen in de object store, en kan hieruit worden opgevraagd:

curl --user username:PaSsw0rd \ https://aaaa0000cccc66669999bbbb00004444.objectstore.eu/photos/landscape...

Bestanden kunnen normaal worden opgevraagd met een geldig token. Om bestanden publiek beschikbaar te maken kan de container als een publieke container worden gedefinieerd.

curl -H "X-Container-Read: .r:*" -X PUT \ --user username:PaSsw0rd \ https://aaaa0000cccc66669999bbbb00004444.objectstore.eu/photos/

Vanaf dat moment kunnen bestanden in die container door elke browser worden benaderd. Op deze manier worden statische bestanden direct vanuit de object store gehost.

Als u een object uit een publieke container wilt benaderen door middel van een URL, dan zou het er als volgt uitzien:

https://aaaa0000cccc66669999bbbb00004444.objectstore.eu/photos/landscape...

Bestanden kunnen worden verwijderd met een DELETE request:

curl -X DELETE --user username:PaSsw0rd \ https://aaaa0000cccc66669999bbbb00004444.objectstore.eu/photos/landscape...

Gebruik uw eigen domeinnaam dmv CNAME

Het is mogelijk om bestanden in de object store te publiceren met uw eigen domeinnaam in plaats van objectstore.eu. Om dit te bereiken hoeft u alleen een CNAME-record toevoegen aan het DNS-systeem. Dit record zal naar een project-id in de object store verwijzen. Dit ziet er als volgt uit:

objectstore.uwdomein.nl CNAME aaaa0000cccc66669999bbbb00004444.objectstore.eu.

URL's that refer to objectstore.yourdomain.nl will now refer to the right domain in the object store, for example:

http://objectstore.yourdomain.com/photos/landscape.jpg

wordt

http://aaaa0000cccc66669999bbbb00004444.objectstore.eu/photos/landscape.jpg

Het is mogelijk om een container in de domeinnaam te verwerken, bijvoorbeeld:

photos.yourdomain.com CNAME photos.aaaa0000cccc66669999bbbb00004444.objectstore.eu

Hetzelfde object kan dan onder de volgende URL worden bereikt:

http://photos.yourdomain.com/landscape.jpg

Helpcenter

Algemene FAQ

Bekijk alle vragen

OpenStack FAQ

Bekijk alle vragen

Knowledgebase

Bekijk alle vragen