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. 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. Karakter ini tidak dapat muncul dalam nama blob atau kontainer. Untuk daftar karakter ini, lihat Karakter Unicode yang tidak didukung 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

Saat membuat kontainer, Anda harus menentukan nama DNS yang valid untuk kontainer tersebut, sesuai dengan aturan penamaan berikut:

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

  • Setiap karakter tanda hubung (-) 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 Blob

Nama blob harus sesuai dengan aturan penamaan berikut:

  • 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.

  • Jumlah segmen jalur yang terdiri dari nama blob tidak boleh melebihi 254. Segmen jalur adalah string antara karakter pemisah berturut-turut (misalnya garis miring '/') yang sesuai dengan nama direktori virtual.

Catatan

Hindari nama blob yang diakhiri dengan titik (.), garis miring (/), dan jangan memakai kedua simbol tersebut secara berurutan atau bersamaan. Segmen jalur tidak boleh diakhiri dengan titik (.).

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 kontainer atau sumber daya 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 root, 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 di 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>

Karakter Unicode tidak didukung dalam nama kontainer atau blob

Tabel berikut ini menyediakan daftar karakter Unicode yang tidak didukung dalam nama kontainer atau 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