Meskipun Anda tidak bisa membuat sarang direktori di OpenStack Object Storage, Anda dapat mensimulasikan struktur hirarki dalam satu kontainer dengan menambahkan garis miring karakter (`` / ) dalam nama objek. Untuk menavigasi struktur pseudo-directory, Anda dapat menggunakan parameter kueri ``delimiter
. Contoh ini menunjukkan kepada Anda bagaimana menggunakan folder dan direktori pseudo-hierarchical.
Catatan
Dalam contoh ini, objek berada dalam kontainer yang disebut backups
. Dalam wadah itu, objek yang diatur dalam pseudo-directory yang disebut photos
. Nama kontainer tidak ditampilkan pada contoh, tetapi merupakan bagian dari URL objek. Sebagai contoh, URL dari gambar me.jpg
adalah https://storage.swiftdrive.com/v1/CF_xer7_343/backups/photos/me.jpg
.
Untuk menampilkan daftar semua objek dalam kontainer penyimpanan, gunakan GET
tanpa delimiter
atau prefix
.
$ curl -X GET -i -H "X-Auth-Token: $token" \
$publicurl/v1/AccountString/backups
Sistem ini mengembalikan kode status 2xx (antara 200 dan 299, inklusif) dan daftar yang diminta dari objek.
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
Gunakan parameter pembatas untuk membatasi hasil yang ditampilkan. Untuk menggunakan delimiter
dengan pseudo-directory, Anda harus menggunakan parameter garis miring (`` / ``).
$ curl -X GET -i -H "X-Auth-Token: $token" \
$publicurl/v1/AccountString/backups?delimiter=/
Sistem ini mengembalikan kode status 2xx (antara 200 dan 299, inklusif) dan objek yang cocok dengan yang diminta. Karena Anda menggunakan garis miring, hanya menampilkan pseudo-directory photos/
. Nilai yang kembali dari query delimiter
slash bukan obyek nyata. Nilai tersebut akan merujuk ke objek nyata jika tidak diakhiri dengan garis miring (slash). Pseudo-directory tidak memiliki content-type, bukan, setiap pseudo-directory memiliki entri subdir
sendiri di respon hasil JSON dan XML. Sebagai contoh:
[
{
"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>
Gunakan parameter prefix
dan delimiter
untuk melihat objek di dalam pseudo-directory, termasuk pseudo-directory bersarang lebih lanjut.
$ curl -X GET -i -H "X-Auth-Token: $token" \
$publicurl/v1/AccountString/backups?prefix=photos/&delimiter=/
Sistem ini mengembalikan kode status 2xx (antara 200 dan 299, inklusif) dan objek dan pseudo-directory dalam pseudo-directory tingkat atas.
photos/animals/
photos/me.jpg
photos/plants/
Anda dapat membuat jumlah yang tidak terbatas pseudo-directory bersarang. Untuk menavigasi melalui mereka, gunakan lebih panjang parameter prefix
ditambah dengan parameter delimiter
. Dalam contoh output ini, ada pseudo-directory yang disebut dogs
dalam pseudo-directory animals
. Untuk menavigasi langsung ke file yang terdapat dalam dogs
, masukkan perintah berikut:
$ curl -X GET -i -H "X-Auth-Token: $token" \
$publicurl/v1/AccountString/backups?prefix=photos/animals/dogs/&delimiter=/
Sistem ini mengembalikan kode status 2xx (antara 200 dan 299, inklusif) dan objek dan pseudo-directory dalam pseudo-directory bersarang.
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.