Penamaan dan Referensi Kontainer, Blob, dan Metadata

Topik ini menjelaskan penamaan dan mengacu pada kontainer, blob, metadata, dan rekam jepret. Akun penyimpanan dapat berisi nol atau lebih kontainer. Kontainer berisi properti, metadata, dan nol atau lebih blob. Jika akun Anda memiliki namespace hierarkis, maka kontainer juga dapat berisi nol atau lebih direktori dan direktori tersebut dapat berisi nol atau lebih blob. Blob adalah entitas tunggal yang terdiri dari data biner, properti, dan metadata.

Nama Sumber Daya

URI untuk mereferensikan kontainer atau blob harus unik. Karena setiap nama akun unik, dua akun dapat memiliki kontainer dengan nama yang sama. Namun, dalam akun penyimpanan tertentu, setiap kontainer harus memiliki nama yang unik. Setiap blob dalam kontainer tertentu juga harus memiliki nama unik dalam kontainer tersebut.

Jika Anda mencoba membuat kontainer atau blob dengan nama yang melanggar aturan penamaan, permintaan akan gagal dengan kode status 400 (Permintaan Buruk).

Nama blob dan kontainer diteruskan ke Blob service dalam URL. Karakter tertentu harus dikodekan persen agar muncul di URL, menggunakan UTF-8 (pilihan) atau MBCS. Pengodean ini terjadi secara otomatis saat Anda menggunakan pustaka klien Azure Storage. Namun, ada karakter tertentu yang tidak valid di jalur URL bahkan ketika dikodekan. Jika karakter ini muncul dalam nama blob atau kontainer, permintaan mungkin gagal. Untuk daftar karakter ini, lihat Karakter Unicode yang tidak disarankan untuk digunakan dalam nama kontainer atau blob.

Titik kode seperti \uE000, sementara valid dalam nama file NTFS, bukan karakter Unicode yang valid, sehingga tidak dapat digunakan. Selain itu, beberapa karakter ASCII atau Unicode, seperti karakter kontrol (0x00 ke 0x1F, \u0081, dll.), juga tidak diizinkan.

Untuk aturan tambahan yang mengatur string Unicode di HTTP/1.1, lihat RFC 2616, Bagian 2.2: Aturan Dasar dan RFC 3987.

Nama Kontainer

Nama kontainer harus merupakan nama DNS yang valid, sesuai dengan aturan penamaan berikut:

  • Nama kontainer harus dimulai atau diakhir dengan huruf atau angka, dan hanya boleh berisi huruf, angka, dan karakter tanda hubung/minus (-).

  • Setiap karakter tanda hubung/minus (-) harus segera didahului dan diikuti dengan huruf atau angka; tanda hubung berturut-turut tidak diizinkan dalam nama kontainer.

  • Semua huruf dalam nama kontainer harus huruf kecil.

  • Nama kontainer harus terdiri dari 3 sampai 63 karakter.

Nama direktori

Jika akun Anda memiliki namespace hierarkis, maka nama direktori harus sesuai dengan aturan penamaan berikut:

  • Nama direktori dapat berisi kombinasi karakter apa pun.

  • Panjang nama direktori harus minimal satu karakter dan panjangnya tidak boleh lebih dari 1.024 karakter.

  • Nama direktori peka huruf besar/kecil.

  • Karakter URL yang dipesan harus benar-benar lolos.

Catatan

Hindari nama direktori yang diakhir dengan titik (.), garis miring ke depan (/), garis miring terbalik (\), atau urutan atau kombinasi keduanya. Segmen jalur tidak boleh diakhiri dengan titik (.).

Cuplikan layar garis miring terbelakang tidak diizinkan.

Nama Blob

Nama blob harus sesuai dengan aturan penamaan berikut. Aturan ini juga berlaku untuk blob di akun yang memiliki namespace hierarkis, kecuali dinyatakan lain.

  • Nama blob dapat berisi kombinasi karakter apa pun.

  • Panjang nama blob untuk blob di Azure Storage minimal harus satu karakter dan tidak boleh melebihi 1.024 karakter.

    Emulator Azure Storage mendukung nama blob hingga 256 karakter. Untuk informasi selengkapnya, lihat Menggunakan emulator penyimpanan Azure untuk pengembangan dan pengujian.

  • Nama blob peka huruf besar/kecil.

  • Karakter URL yang dipesan harus benar-benar lolos.

  • Ada batasan jumlah segmen jalur yang terdiri dari nama blob. Segmen jalur adalah string antara karakter pemisah berturut-turut (misalnya, garis miring /) yang sesuai dengan direktori atau direktori virtual. Batasan segmen jalur berikut berlaku untuk nama blob:

    • Jika akun penyimpanan tidak mengaktifkan namespace hierarkis, jumlah segmen jalur yang terdiri dari nama blob tidak boleh melebihi 254.
    • Jika akun penyimpanan mengaktifkan namespace hierarkis, jumlah segmen jalur yang terdiri dari nama blob tidak boleh melebihi 63 (termasuk segmen jalur untuk nama akun dan nama kontainer).

Catatan

Hindari nama blob yang diakhir dengan titik (.), garis miring ke depan (/), garis miring terbalik (\), atau urutan atau kombinasi keduanya. Segmen jalur tidak boleh diakhiri dengan titik (.).

Cuplikan layar garis miring tidak diizinkan.

Secara default, Blob service didasarkan pada skema penyimpanan datar, bukan skema hierarkis. Namun, Anda dapat menentukan pemisah karakter atau string dalam nama blob untuk membuat hierarki virtual. Misalnya, daftar berikut menunjukkan nama blob yang valid dan unik. Perhatikan bahwa string dapat valid sebagai nama blob dan sebagai nama direktori virtual dalam kontainer yang sama:

  • /J

  • /a.txt

  • /a/b

  • /a/b.txt

Anda dapat memanfaatkan karakter pemisah saat menghitung blob.

Nama Metadata

Metadata untuk sumber daya kontainer atau blob disimpan sebagai pasangan nama-nilai yang terkait dengan sumber daya. Nama metadata harus mematuhi aturan penamaan untuk pengidentifikasi C#.

Perhatikan bahwa nama metadata mempertahankan huruf besar/kecil seperti saat dibuat, tetapi tidak peka huruf besar/kecil saat diatur atau dibaca. Jika dua atau beberapa header metadata dengan nama yang sama dikirimkan untuk sumber daya, layanan Blob mengembalikan kode status 400 (Permintaan Buruk).

Sintaks URI Sumber Daya

Setiap sumber daya memiliki URI dasar yang sesuai, yang mengacu pada sumber daya itu sendiri.

Untuk akun penyimpanan, URI dasar hanya menyertakan nama akun:

https://myaccount.blob.core.windows.net

Untuk kontainer, URI dasar menyertakan nama akun dan nama kontainer:

https://myaccount.blob.core.windows.net/mycontainer

Untuk blob, URI dasar menyertakan nama akun, nama kontainer, dan nama blob:

https://myaccount.blob.core.windows.net/mycontainer/myblob

Akun penyimpanan mungkin memiliki kontainer akar, kontainer default yang dapat dihilangkan dari URI. Blob dalam kontainer akar dapat dirujuk tanpa menamai kontainer, atau kontainer root dapat secara eksplisit dirujuk dengan namanya ($root). Lihat Bekerja dengan Kontainer Akar untuk informasi selengkapnya. URI berikut keduanya merujuk ke blob dalam kontainer akar:

https://myaccount.blob.core.windows.net/myblob  
https://myaccount.blob.core.windows.net/$root/myblob  

Rekam Jepret Blob

Rekam jepret adalah versi baca-saja dari blob yang disimpan seperti pada saat rekam jepret dibuat. Anda dapat menggunakan rekam jepret untuk membuat cadangan atau titik pemeriksaan blob. Nama blob rekam jepret menyertakan URI blob dasar ditambah nilai tanggal-waktu yang menunjukkan kapan rekam jepret dibuat.

Misalnya, asumsikan bahwa blob memiliki URI berikut:

https://myaccount.blob.core.windows.net/mycontainer/myblob

URI untuk rekam jepret blob tersebut dibentuk sebagai berikut:

https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=<DateTime>

Tabel berikut ini menyediakan daftar karakter Unicode yang tidak disarankan untuk digunakan dalam nama kontainer atau blob. Karakter ini, ketika digunakan dalam kombinasi dengan karakter lain dalam daftar ini, mungkin gagal pendekodean UTF-8 atau MBCS, yang menyebabkan kegagalan permintaan ke layanan Blob.

Karakter Unicode
U+0080
U+0082
U+0083
U+0084
U+0085
U+0086
U+0087
U+0088
U+0089
U+008A
U+008B
U+008C
U+008E
U+0091
U+0092
U+0093
U+0094
U+0095
U+0096
U+0097
U+0098
U+0099
U+009A
U+009B
U+009C
U+009E
U+009F
U+FDD1
U+FDD2
U+FDD3
U+FDD4
U+FDD5
U+FDD6
U+FDD7
U+FDD8
U+FDD9
U+FDDA
U+FDDB
U+FDDC
U+FDDE
U+FDDF
U+FDE0
U+FDE1
U+FDE2
U+FDE3
U+FDE4
U+FDE5
U+FDE6
U+FDE7
U+FDE8
U+FDE9
U+FDEA
U+FDEB
U+FDEC
U+FDED
U+FDEE
U+FDEF
U+FFF0
U+FFF1
U+FFF2
U+FFF3
U+FFF4
U+FFF5
U+FFF6
U+FFF7
U+FFF8
U+FFF9
U+FFFA
U+FFFB
U+FFFC
U+FFFD
U+FFFE
U+FFFF
U+1FFFE
U+1FFFF
U+2FFFE
U+2FFFF
U+3FFFE
U+3FFFF
U+5FFFE
U+5FFFF
U+6FFFE
U+6FFFF
U+7FFFE
U+7FFFF
U+9FFFE
U+9FFFF
U+AFFFE
U+AFFFF
U+BFFFE
U+BFFFF
U+DFFFE
U+DFFFF
U+EFFFE
U+EFFFF
U+FFFFE
U+FFFFF

Lihat juga