Folder dan direktori pseudo-hierarchical

Folder dan direktori pseudo-hierarchical

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.

Daftar permintaan folder pseudo-hierarchical: HTTP

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
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.