Penamaan dan referensi berbagi, direktori, file, dan metadata
Akun penyimpanan dapat berisi nol atau lebih berbagi file Azure. Berbagi berisi properti, metadata, dan nol atau lebih file atau direktori. Direktori berisi properti dan nol atau lebih file atau direktori. File adalah entitas tunggal yang terdiri dari data biner, properti, dan metadata.
Nama sumber daya
URI untuk mereferensikan berbagi, direktori, atau file harus unik. Dalam akun penyimpanan tertentu, setiap berbagi harus memiliki nama yang unik. Setiap file dalam berbagi atau direktori tertentu juga harus memiliki nama unik dalam berbagi atau direktori tersebut.
Jika Anda mencoba membuat berbagi, direktori, atau file dengan nama yang melanggar aturan penamaan, permintaan akan gagal dengan kode status 400 (Permintaan Buruk).
Bagikan nama
Aturan untuk nama berbagi layanan File lebih ketat daripada yang ditentukan oleh protokol SMB untuk nama berbagi SMB, sehingga layanan Blob dan File dapat berbagi konvensi penamaan serupa untuk kontainer dan berbagi. Pembatasan penamaan untuk berbagi adalah sebagai berikut:
- Nama berbagi harus berupa nama DNS yang valid.
- Nama berbagi harus dimulai 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 berbagi.
- Semua huruf dalam nama berbagi harus huruf kecil.
- Nama berbagi harus panjangnya 3 hingga 63 karakter.
Tabel berikut membandingkan pembatasan penamaan untuk penyimpanan Azure Files dan Azure Blob:
Penamaan dan Referensi Kontainer, Blob, dan Metadata | Pembatasan Nama Berbagi SMB |
---|---|
• Nama kontainer harus berupa nama DNS yang valid. • Nama kontainer harus dimulai dengan huruf atau angka, dan hanya dapat 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 3 hingga 63 karakter. |
• Nama berbagi panjangnya tidak boleh lebih dari 80 karakter. • Karakter berikut ilegal dalam nama berbagi: \ / [ ] : ¦ < > + = ; , * ? " • Mengontrol karakter dalam rentang 0x00 melalui 0x1F, inklusif, ilegal dalam nama berbagi. • Semua karakter Unicode lainnya adalah legal. • Nama adalah pertahankan kasus dan tidak peka huruf besar/kecil. |
Nama direktori dan file
Azure Files memberlakukan aturan penamaan berikut untuk nama direktori dan file:
- Nama direktori dan file mempertahankan huruf besar/kecil dan tidak peka huruf besar/kecil.
- Panjang nama komponen direktori dan file tidak boleh lebih dari 255 karakter.
- Nama direktori tidak dapat diakhir dengan karakter garis miring (/). Jika disediakan, akan dihapus secara otomatis.
- Nama file tidak boleh diakhir dengan karakter garis miring (/).
- Karakter URL yang dipesan harus benar-benar lolos.
- Karakter berikut tidak diperbolehkan:
" \ / : | < > * ?
- Karakter jalur URL ilegal tidak diizinkan. Titik kode seperti
\uE000
, sementara valid dalam nama file NTFS, bukan karakter Unicode yang valid. Selain itu, beberapa karakter ASCII atau Unicode, seperti karakter kontrol (0x00
ke0x1F
), juga tidak diizinkan. Untuk aturan yang mengatur string Unicode di HTTP/1.1 lihat RFC 2616, Bagian 2.2: Aturan Dasar dan RFC 3987. - Karakter Unicode tidak valid (disebut sebagai pasangan pengganti yang tidak valid) tidak didukung.
- Nama file berikut tidak diperbolehkan: LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, PRN, AUX, NUL, CON, CLOCK$, karakter titik (.), dan karakter dua titik (..).
- Dimulai dengan versi 2021-12-02, nama direktori dan file mendukung karakter U+FFFE dan U+FFFF melalui semua operasi. Karakter ini juga didukung melalui protokol SMB dan REST. Operasi Daftar Direktori dan File dan Handel Daftar akan memerlukan penanganan khusus untuk karakter ini seperti yang disebutkan dalam dokumentasi masing-masing.
Secara default, karakter titik (.) di akhir direktori dan nama file dalam URL permintaan diabaikan atau ditinggalkan.
- Misalnya, jika file bernama
file1...
sedang dibuat, titik-titik di akhir akan diabaikan, dan file bernamafile1
akan dibuat. Hal yang sama berlaku untuk direktori di jalur. Jika permintaan pembuatan file menyertakan jalur\Dir1\Dir2…\File1
, maka file akan dibuat di\Dir1\Dir2\File1
. - Namun, dimulai dengan versi 2022-11-02, perilaku default dapat ditimpa dengan mengatur header
x-ms-allow-trailing-dot
ketrue
dalam permintaan URL. - Misalnya, jika Anda ingin membuat file bernama
file1...
dan menyertakan titik-titik berikutnya,x-ms-allow-trailing-dot
harus disertakan dalam header permintaan dan diatur menjaditrue
. Hal yang sama berlaku untuk membuat nama direktori. - Dalam kasus permintaan penyalinan file, jika Anda ingin menyertakan titik-titik berikutnya dalam nama file sumber,
x-ms-source-allow-trailing-dot
header harus diatur ketrue
. Untuk informasi selengkapnya, lihat opsi header yang tersedia untuk setiap REST API individual.
Tabel berikut membandingkan pembatasan penamaan untuk penyimpanan Azure Files dan Azure Blob:
Penamaan dan Referensi Kontainer, Blob, dan Metadata | Pembatasan Nama Protokol SMB |
---|---|
• Nama blob harus panjangnya minimal satu karakter dan panjangnya tidak boleh lebih dari 1.024 karakter. • Nama blob peka huruf besar/kecil. • Karakter URL yang dipesan harus diloloskan dengan benar. • Nama blob dapat diakhir dengan pemisah direktori virtual, seperti garis miring (/) • Karakter jalur URL ilegal tidak diizinkan: Titik kode seperti \uE000, sementara valid dalam nama file NTFS, bukan karakter Unicode yang valid. Selain itu, beberapa karakter ASCII atau Unicode, seperti karakter kontrol (0x00 ke 0x1F), juga tidak diizinkan. Untuk aturan yang mengatur string Unicode di HTTP/1.1 lihat RFC 2616, Bagian 2.2: Aturan Dasar dan RFC 3987. |
• Panjang nama jalur tidak boleh lebih dari 32.760 karakter. • Setiap komponen nama jalur (file / direktori) tidak boleh lebih dari 255 karakter. • Nama jalur terdiri dari satu atau beberapa komponen nama jalur yang dipisahkan oleh karakter garis miring mundur (\). • Nama jalur adalah pertahanan huruf besar/kecil dan tidak peka huruf besar/kecil (dua nama yang berbeda hanya jika tidak diizinkan). • Tidak dapat memiliki jalur direktori yang sama dengan jalur file. • Karakter berikut ilegal dalam nama komponen: \ / : ¦ < > * ? " • Mengontrol karakter dalam rentang 0x00 melalui 0x1F, inklusif, ilegal dalam nama berbagi. |
Nama jalur
Nama jalur terdiri dari satu atau beberapa komponen nama jalur (direktori atau nama file) yang dipisahkan oleh karakter garis miring (/). Semua komponen nama jalur selain komponen nama jalur terakhir menunjukkan direktori. Komponen nama jalur terakhir menunjukkan direktori atau file. Aturan penamaan berikut berlaku:
- Panjang nama jalur mungkin tidak lebih dari 2.048 karakter. Masing-masing komponen dalam jalur dapat memiliki panjang maksimal 255 karakter.
- Nama jalur terdiri dari satu atau beberapa komponen nama jalur yang dipisahkan oleh karakter garis miring (/).
- Kedalaman subdirektori di jalur tidak boleh melebihi 250.
- Nama yang sama tidak dapat digunakan untuk file dan direktori yang memiliki direktori induk yang sama. Misalnya, file dan direktori yang masing-masing bernama
data
tidak boleh ada di bawah jalur induk yang sama.
Nama metadata
Metadata untuk sumber daya berbagi atau file 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 File Azure 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.file.core.windows.net
Untuk berbagi, URI dasar menyertakan nama akun dan nama berbagi:
https://myaccount.file.core.windows.net/myshare
Untuk direktori, URI dasar menyertakan nama akun, nama berbagi, dan jalur direktori:
https://myaccount.file.core.windows.net/myshare/myparentdir/mydir
Untuk file, URI dasar menyertakan nama akun, nama berbagi, dan jalur file:
https://myaccount.file.core.windows.net/myshare/myfile
https://myaccount.file.core.windows.net/myshare/mydir/myfile
https://myaccount.file.core.windows.net/myshare/myparentdir/mydir/myfile