オブジェクト一覧取得 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>