OpenStack Object Storage に複数階層のディレクトリーを作成できませんが、オブジェクトの名前にスラッシュ (/
) を追加することにより、単一のコンテナー内に階層構造を模倣できます。delimiter
クエリーパラメーターを使用して、擬似ディレクトリーを移動できます。この例は、擬似階層フォルダーとディレクトリーの使い方を示しています。
注釈
この例では、オブジェクトが backups
という名前のコンテナーにあります。そのコンテナーの中で、オブジェクトは photos
という名前の擬似フォルダーに整理されます。コンテナーの名前は、この例に表示されていませんが、オブジェクト URL の一部です。例えば、画像 me.jpg
の URL は https://storage.swiftdrive.com/v1/CF_xer7_343/backups/photos/me.jpg
です。
delimiter
や prefix
なしで GET
を使用して、ストレージコンテナーにあるオブジェクトの一覧を表示します。
$ curl -X GET -i -H "X-Auth-Token: $token" \
$publicurl/v1/AccountString/backups
システムは、ステータスコード 2xx (200~299)、要求されたオブジェクトの一覧を返します。
photos/animals/cats/persian.jpg
photos/animals/cats/siamese.jpg
photos/animals/dogs/corgi.jpg
photos/animals/dogs/poodle.jpg
photos/animals/dogs/terrier.jpg
photos/me.jpg
photos/plants/fern.jpg
photos/plants/rose.jpg
delimiter パラメーターを使用して、表示される結果を制限できます。擬似フォルダーに delimiter
を使用する場合、パラメーターをスラッシュ (/
) にする必要があります。
$ curl -X GET -i -H "X-Auth-Token: $token" \
$publicurl/v1/AccountString/backups?delimiter=/
システムは、ステータスコード 2xx (200~299)、要求に一致するオブジェクトを返します。スラッシュを使用するので、擬似ディレクトリー photos/
のみが表示されます。スラッシュ delimiter
のクエリーから返された値は、実オブジェクトではありません。この値は、スラッシュで終わっていなければ、実オブジェクトを参照します。擬似ディレクトリーはコンテンツ形式を持ちません。各擬似ディレクトリーは、自身の subdir
エントリーを持ち、JSON または XML 形式で返します。例えば、
[
{
"subdir": "photos/"
}
]
[
{
"subdir": "photos/animals/"
},
{
"hash": "b249a153f8f38b51e92916bbc6ea57ad",
"last_modified": "2015-12-03T17:31:28.187370",
"bytes": 2906,
"name": "photos/me.jpg",
"content_type": "image/jpeg"
},
{
"subdir": "photos/plants/"
}
]
<?xml version="1.0" encoding="UTF-8"?>
<container name="backups">
<subdir name="photos/">
<name>photos/</name>
</subdir>
</container>
<?xml version="1.0" encoding="UTF-8"?>
<container name="backups">
<subdir name="photos/animals/">
<name>photos/animals/</name>
</subdir>
<object>
<name>photos/me.jpg</name>
<hash>b249a153f8f38b51e92916bbc6ea57ad</hash>
<bytes>2906</bytes>
<content_type>image/jpeg</content_type>
<last_modified>2015-12-03T17:31:28.187370</last_modified>
</object>
<subdir name="photos/plants/">
<name>photos/plants/</name>
</subdir>
</container>
パラメーターの prefix
と delimiter
を使用して、階層構造の擬似ディレクトリーを含む、擬似ディレクトリー内のオブジェクトを表示します。
$ curl -X GET -i -H "X-Auth-Token: $token" \
$publicurl/v1/AccountString/backups?prefix=photos/&delimiter=/
システムは、ステータスコード 2xx (200~299)、オブジェクト、最上位の擬似ディレクトリー内の擬似ディレクトリーを返します。
photos/animals/
photos/me.jpg
photos/plants/
入れ子構造の擬似ディレクトリーを無制限に作成できます。delimiter
パラメーターと一緒に prefix
パラメーターを使用して、それらを参照します。この出力例では、animals
擬似ディレクトリー内に dogs
という名前の擬似ディレクトリーがあります。以下のコマンドを実行して、dogs
に含まれるファイルを直接参照します。
$ curl -X GET -i -H "X-Auth-Token: $token" \
$publicurl/v1/AccountString/backups?prefix=photos/animals/dogs/&delimiter=/
システムは、ステータスコード 2xx (200~299)、オブジェクト、入れ子の擬似ディレクトリー内の擬似ディレクトリーを返します。
photos/animals/dogs/corgi.jpg
photos/animals/dogs/poodle.jpg
photos/animals/dogs/terrier.jpg
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.