オブジェクト一覧取得 GET /v1/{account}/{container}{?limit,marker,end_marker, prefix,format,delimiter,path}
コンテナの詳細とリストオブジェクトを取得する
クエリパラメーターには、取得するオブジェクト名のフィルタを指定する事ができます。
クエリパラメーターを省略すると、コンテナに格納されているオブジェクト名を10,000個まで取得できます。
また、クエリパラメーターを使用すると、オブジェクトのリストをページに分けて取得できます。取得したオブジェクトの数が、limitパラメーターで指定した値より少ない場合、リストは最後まで取得されています。取得したオブジェクトの数が、limitパラメーターで指定した値と等しい場合、リストにはまだ未取得のオブジェクトが残っています。
- 200 OK. オブジェクトが存在する場合、オブジェクト一覧が返却されます。
- 204 No Contentコンテナが存在しない場合やlimit,marker,end_markerのクエリパラメーターを使ってフィルタリングしたコンテナ一覧のサブセットが空の場合に返却されます。
指定したコンテナが存在しない場合は404 Not Foundが返却されます。
コンテナ内に大量のオブジェクトが作成されている場合、オブジェクトの一覧情報を取得すると応答遅延が発生することがあります。性能低下を回避するため、1コンテナへのオブジェクト作成数の上限は1,000,000件を推奨します。
1コンテナに大量にオブジェクトが作成されている環境でオブジェクト一覧の情報を取得する場合は、limitパラメータ(一覧取得の最大件数)を1000件程度に設定してください。
Request Headers
X-Auth-Token
認証トークン。省略した場合、ACLによってアクセスを許可していない限り、リクエストは失敗します。詳細についてはACLをご参照ください。
Data Type | Cardinality |
---|---|
String | 0..1 |
X-Newest
Trueを設定すると、オブジェクトストレージはすべてのレプリカから最新のものを探して返却します。本ヘッダーを省略すると、オブジェクトストレージは正常なレプリカを一つ選んで返却します。本ヘッダーにTrueを指定することは非常に高コストとなります。絶対に必要な場合にだけ使用してください。
Data Type | Cardinality |
---|---|
Boolean | 0..1 |
Accept
application/json, application/xml, text/xmlのいずれかを設定できます。本ヘッダーはformatクエリパラメーターよりも優先されます。
Data Type | Cardinality |
---|---|
String | 0..1 |
Request Parameter
{account}
プロジェクト単位でユニークに割り当てられる名前
Data Type | Cardinality |
---|---|
String | 1..1 |
{container}
コンテナ名
Data Type | Cardinality |
---|---|
String | 1..1 |
limit
任意の数値(1~10000)を指定すると、その数値分の一覧を返却します。デフォルトは10000です。
Data Type | Cardinality |
---|---|
Int | 0..1 |
marker
任意の文字列を指定すると、その文字列以降のオブジェクト名からなる一覧返却します
Data Type | Cardinality |
---|---|
String | 0..1 |
end_marker
任意の文字列を指定すると、その文字列以前のオブジェクト名からなる一覧を返却します
Data Type | Cardinality |
---|---|
String | 0..1 |
prefix
プレフィックス。この文字列から始まるオブジェクトの一覧を返却します。
Data Type | Cardinality |
---|---|
String | 0..1 |
format
レスポンスのフォーマット指定。json,xml,plainから選択できます。デフォルトはplainです。
format=xmlまたはformat=jsonをクエリパラメーターに追加すると、オブジェクト名だけでなく、オブジェクトの詳細情報を含む結果を取得します。
format=plain をクエリパラメーターに指定すると、改行区切りでオブジェクト名の一覧を取得します。
Data Type | Cardinality |
---|---|
String | 0..1 |
delimiter
オブジェクト名をネスト表示するためのデリミタ
Data Type | Cardinality |
---|---|
Char | 0..1 |
path
文字列を指定すると、擬似的なパスでネストされたオブジェクト名で一覧を返却します。delimiterに"/"を指定かつprefixに{path}/を指定した場合と同等です。
Data Type | Cardinality |
---|---|
String | 0..1 |
Response Headers
Content-Length
レスポンスボディのバイト数
Data Type | Cardinality |
---|---|
String | 1..1 |
X-Container-Object-Count
コンテナ内オブジェクトの総数
Data Type | Cardinality |
---|---|
Int | 1..1 |
Accept-Ranges
ボディに含まれるオブジェクトに対してRangeヘッダーを指定した取得が可能であることを示します。
Data Type | Cardinality |
---|---|
String | 1..1 |
X-Container-Meta-name
コンテナメタデータ。{name}はメタデータ項目の名前。
Data Type | Cardinality |
---|---|
String | 1..1 |
X-Container-Bytes-Used
コンテナ内オブジェクトの合計バイトサイズ
Data Type | Cardinality |
---|---|
Int | 1..1 |
Content-Type
レスポンスボディのMIMEタイプ。
Data Type | Cardinality |
---|---|
String | 1..1 |
X-Trans-Id
このリクエストに付与されるID。トラブルについて問い合わせる際に利用されます。
Data Type | Cardinality |
---|---|
Uuid | 1..1 |
Date
トランザクションの実行された日付と時間
Data Type | Cardinality |
---|---|
Datetime | 1..1 |
X-Container-Read
リード権限のACL。設定されていない場合は返却されません。詳細は、リード権限をご参照ください。
Data Type | Cardinality |
---|---|
String | 0..1 |
X-Container-Write
ライト権限のACL。設定されていない場合は返却されません。詳細は、ライト権限をご参照ください。
Data Type | Cardinality |
---|---|
String | 0..1 |
Response Elements
container
レスポンスのエンベロープ
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
container | 1..1 | None | object |
object
オブジェクト情報の一式
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
object | 0..n | container | name
hash bytes content_type last_modified |
name
オブジェクト名
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
string | 1..1 | object | None |
hash
オブジェクトのMD5チェックサム
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
string | 1..1 | object | None |
bytes
オブジェクトのサイズ
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
string | 1..1 | object | None |
content_type
オブジェクトのMIMEタイプ
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
string | 1..1 | object | None |
last_modified
オブジェクトの作成日と時間またはメタデータが変更された日と時間
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
string | 1..1 | object | None |
Example Show container details response: HTTP and JSON
Example of Request
curl -i $publicURL/marktwain?format=json -X GET -H "X-Auth-Token:$token"
Example of Response
HTTP/1.1 200 OK
Content-Length: 341
X-Container-Object-Count: 2
Accept-Ranges: bytes
X-Container-Meta-Book: TomSawyer
X-Timestamp: 1389727543.65372
X-Container-Bytes-Used: 26
Content-Type: application/json; charset=utf-8
X-Trans-Id: tx26377fe5fab74869825d1-0052d6bdff
Date: Wed, 15 Jan 2014 16:57:35 GMT
[
{
"hash": "451e372e48e0f6b1114fa0724aa79fa1",
"last_modified": "2014-01-15T16:41:49.390270",
"bytes": 14,
"name": "goodbye",
"content_type": "application/octet-stream"
},
{
"hash": "ed076287532e86365e841e92bfc50d8c",
"last_modified": "2014-01-15T16:37:43.427570",
"bytes": 12,
"name": "helloworld",
"content_type": "application/octet-stream"
}
]
Example Show container details response: HTTP and XML
Example of Request
curl -i $publicURL/marktwain?format=xml -X GET -H "X-Auth-Token:$token"
Example of Response
HTTP/1.1 200 OK
Content-Length: 500
X-Container-Object-Count: 2
Accept-Ranges: bytes
X-Container-Meta-Book: TomSawyer
X-Timestamp: 1389727543.65372
X-Container-Bytes-Used: 26
Content-Type: application/xml; charset=utf-8
X-Trans-Id: txc75ea9a6e66f47d79e0c5-0052d6be76
Date: Wed, 15 Jan 2014 16:59:35 GMT
<?xml version="1.0" encoding="UTF-8"?>
<container name="marktwain">
<object>
<name>goodbye</name>
<hash>451e372e48e0f6b1114fa0724aa79fa1</hash>
<bytes>14</bytes>
<content_type>application/octet-stream</content_type>
<last_modified>2014-01-15T16:41:49.390270</last_modified>
</object>
<object>
<name>helloworld</name>
<hash>ed076287532e86365e841e92bfc50d8c</hash>
<bytes>12</bytes>
<content_type>application/octet-stream</content_type>
<last_modified>2014-01-15T16:37:43.427570</last_modified>
</object>
</container>