第 4 章 オブジェクトストレージ操作
3. オブジェクトサービス
3-4. オブジェクトの削除
オブジェクトを指定してDELETEリクエストを送信することで、そのオブジェクトを削除することができます。
【実行例】
削除対象のオブジェクト “tmp/swift-1.3.0.taz” を指定して、DELETEリクエストを送ります。
1 2 3 4 5 | 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 |
1 2 3 4 | 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” を設定しています。
1 2 3 4 5 6 | 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 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 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) が読み出せます。
1 2 3 4 5 | 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 |
1 2 3 4 5 6 7 | 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 |