第 4 章 オブジェクトストレージ操作

3. オブジェクトサービス

3-4. オブジェクトの削除

オブジェクトを指定してDELETEリクエストを送信することで、そのオブジェクトを削除することができます。

【リクエスト】

【レスポンス】

【実行例】

削除対象のオブジェクト “tmp/swift-1.3.0.taz” を指定して、DELETEリクエストを送ります。

DELETE /v1/AUTH_orion-cabinet/tmp/swift-1.3.0.taz HTTP/1.1
User-Agent: curl/7.21.0 (x86_64-pc-linux-gnu) libcurl/7.21.0 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18
Host: objstore.example.jp
Accept: */*
X-Auth-Token: AUTH_tk3b0094c49a90435b9f86f580cb39e363
HTTP/1.1 204 No Content
Content-Length: 0
Content-Type: text/html; charset=UTF-8
Date: Fri, 08 Jul 2011 04:11:12 GMT

3-5. オブジェクトメタデータの更新

オブジェクトのメタデータを更新します。メタデータは X-Object-Meta- から始まる名前の拡張ヘッダで指定します。オブジェクトが持っているメタデータが全て削除されたのち、新しいメタデータが登録されます。また、オブジェクトに設定したメタデータは、HEAD リクエストまたは GET リクエストで読み出すことができます。
ちなみに、メディアタイプや Etag などの情報を更新することはできません。

オブジェクトへのメタデータ設定に関しては、「第7章 メタデータ」で解説します。

【リクエスト】

【レスポンス】

【実行例】

メタデータを登録したいオブジェクト “/tmp/swift-1.3.0.taz” を指定して、POST メソッドを送ります。ユーザが定義した X-Object-Meta-Project ヘッダに、”openstack object storage” を設定しています。

POST /v1/AUTH_orion-cabinet/tmp/swift-1.3.0.taz HTTP/1.1
User-Agent: curl/7.21.0 (x86_64-pc-linux-gnu) libcurl/7.21.0 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18
Host: objstore.example.jp
Accept: */*
X-Auth-Token: AUTH_tk3b0094c49a90435b9f86f580cb39e363
X-Object-Meta-Project: openstack object storage
HTTP/1.1 202 Accepted
Content-Length: 159
Content-Type: text/html; charset=UTF-8
Date: Fri, 08 Jul 2011 04:34:53 GMT
<html>
<head>
<title>202 Accepted</title>
</head>
<body>
<h1>202 Accepted</h1>
The request is accepted for processing.
</body>
</html>

3-6. オブジェクトメタデータの取得

オブジェクトのサイズやメディアタイプ、最終更新時刻などの標準ヘッダ情報とオブジェクトに付けられたメタデータを取得します。オブジェクトへのメタデータ設定に関しては、「第7章 メタ データ」で解説します。

【リクエスト】

【レスポンス】

【実行例】

オブジェクト “tmp/swift-1.3.0.taz” を指定して HEAD リクエストを送り、メタデータを取得します。
エンティティタグ (Etag) と、ユーザが設定したメタデータ (X-Object-Meta-Project) が読み出せます。

HEAD /v1/AUTH_orion-cabinet/tmp/swift-1.3.0.taz HTTP/1.1
User-Agent: curl/7.21.0 (x86_64-pc-linux-gnu) libcurl/7.21.0 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18
Host: objstore.example.jp
Accept: */*
X-Auth-Token: AUTH_tk3b0094c49a90435b9f86f580cb39e363
HTTP/1.1 200 OK
Last-Modified: Fri, 08 Jul 2011 04:30:30 GMT
X-Object-Meta-Project: openstack object storage
Etag: 97e0b18bb44fbd8b2ea38b06e166a0fd
Content-Length: 397030
Content-Type: application/x-tar
Date: Fri, 08 Jul 2011 04:40:50 GMT