Udostępnij za pośrednictwem


Nazewnictwo i odwoływanie się do udziałów, katalogów, plików i metadanych

Konto magazynu może zawierać co najmniej zero udziałów plików platformy Azure. Udział zawiera właściwości, metadane i zero lub więcej plików lub katalogów. Katalog zawiera właściwości i zero lub więcej plików lub katalogów. Plik to dowolna pojedyncza jednostka składająca się z danych binarnych, właściwości i metadanych.

Nazwy zasobów

Identyfikator URI do odwoływania się do udziału, katalogu lub pliku musi być unikatowy. Na danym koncie magazynu każdy udział musi mieć unikatową nazwę. Każdy plik w danym udziale lub katalogu musi również mieć unikatową nazwę w tym udziale lub katalogu.

Jeśli spróbujesz utworzyć udział, katalog lub plik o nazwie naruszającej reguły nazewnictwa, żądanie zakończy się niepowodzeniem z kodem stanu 400 (Nieprawidłowe żądanie).

Nazwy udziałów

Reguły nazw udziałów usług plików są bardziej restrykcyjne niż to, co jest zalecane przez protokół SMB dla nazw udziałów SMB, aby usługi blob i usługi plików mogły współużytkować podobne konwencje nazewnictwa dla kontenerów i udziałów. Ograniczenia nazewnictwa udziałów są następujące:

  • Nazwa udziału musi być prawidłową nazwą DNS.
  • Nazwy udziałów muszą zaczynać się literą lub cyfrą i mogą zawierać tylko litery, cyfry i znak łącznika/minus (-).
  • Każdy znak łącznika/minus (-) musi być bezpośrednio poprzedzony i poprzedzony literą lub cyfrą; kolejne łączniki nie są dozwolone w nazwach udziałów.
  • Wszystkie litery w nazwie udziału muszą być małymi literami.
  • Nazwy udziałów muszą mieć długość od 3 do 63 znaków.

W poniższej tabeli porównaliśmy ograniczenia nazewnictwa dla usług Azure Files i Azure Blob Storage:

nazewnictwo i odwoływanie się do kontenerów, obiektów blob i metadanych ograniczenia nazw udziałów SMB
• Nazwa kontenera musi być prawidłową nazwą DNS.
• Nazwy kontenerów muszą zaczynać się literą lub cyfrą i mogą zawierać tylko litery, cyfry i znak łącznika/minus (-).
• Każdy znak łącznika/minus (-) musi być bezpośrednio poprzedzony i poprzedzony literą lub cyfrą; łączniki kolejne nie są dozwolone w nazwach kontenerów.
• Wszystkie litery w nazwie kontenera muszą być małymi literami.
• Nazwy kontenerów muszą mieć długość od 3 do 63 znaków.
• Nazwa udziału nie może zawierać więcej niż 80 znaków.
• Następujące znaki są niedozwolone w nazwie udziału: \ / [ ] : ¦ < > + = ; , * ? "
• Znaki sterujące w zakresie 0x00 przez 0x1F, włącznie, są niedozwolone w nazwie udziału.
• Wszystkie inne znaki Unicode są legalne.
• Nazwy są zachowywane i bez uwzględniania wielkości liter.

Nazwy katalogów i plików

Usługa Azure Files wymusza następujące reguły nazewnictwa dla nazw katalogów i plików:

  • Nazwy katalogów i plików są zachowywane przy użyciu wielkości liter i bez uwzględniania wielkości liter.
  • Nazwy składników katalogu i pliku nie mogą mieć więcej niż 255 znaków.
  • Nazwy katalogów nie mogą kończyć się znakiem ukośnika (/). Jeśli zostanie podana, zostanie ona automatycznie usunięta.
  • Nazwy plików nie mogą kończyć się znakiem ukośnika do przodu (/).
  • Znaki zastrzeżonego adresu URL muszą być prawidłowo uniknięte.
  • Następujące znaki nie są dozwolone: " \ / : | < > * ?
  • Niedozwolone znaki ścieżki adresu URL nie są dozwolone. Punkty kodu, takie jak \uE000, choć prawidłowe w nazwach plików NTFS, nie są prawidłowymi znakami Unicode. Ponadto niektóre znaki ASCII lub Unicode, takie jak znaki sterujące (0x00 do 0x1F), również nie są dozwolone. Aby uzyskać reguły dotyczące ciągów Unicode w protokole HTTP/1.1, zobacz RFC 2616, Sekcja 2.2: Podstawowe reguły i RFC 3987.
  • Nieprawidłowe znaki Unicode (nazywane nieprawidłowymi parami zastępczymi) nie są obsługiwane.
  • Następujące nazwy plików nie są dozwolone: LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, PRN, AUX, NUL, CON, CLOCK$, znak kropki (.).
  • Począwszy od wersji 2021-12-02, nazwy katalogów i plików obsługują znaki U+FFFE i U+FFFF przez wszystkie operacje. Te znaki są również obsługiwane za pośrednictwem protokołów SMB i REST. List Directory and Files and List Handles operacje wymagają specjalnej obsługi tych znaków, jak wspomniano w odpowiedniej dokumentacji.

Domyślnie w przypadku udziałów plików z włączonym protokołem SMB znaki kropki (.) na końcu katalogu i nazw plików w adresach URL żądań są ignorowane lub pomijane.

  • Jeśli na przykład tworzony jest plik o nazwie file1..., kropki na końcu zostaną zignorowane i zostanie utworzony plik o nazwie file1. To samo dotyczy katalogów w ścieżce. Jeśli żądanie utworzenia pliku zawiera ścieżkę \Dir1\Dir2…\File1, plik zostanie utworzony w \Dir1\Dir2\File1.
  • Jednak począwszy od wersji 2022-11-02, domyślne zachowanie można zastąpić, ustawiając x-ms-allow-trailing-dot nagłówka na true w żądaniu ADRESU URL.
  • Jeśli na przykład chcesz utworzyć plik o nazwie file1... i dołączyć kropki końcowe, x-ms-allow-trailing-dot należy uwzględnić w nagłówku żądania i ustawić wartość true. Dotyczy to tworzenia nazw katalogów.
  • W przypadku żądania kopiowania pliku, jeśli chcesz uwzględnić końcowe kropki w nazwie pliku źródłowego, nagłówek x-ms-source-allow-trailing-dot musi być ustawiony na true. Aby uzyskać więcej informacji, zapoznaj się z dostępnymi opcjami nagłówka dla poszczególnych interfejsów API REST.

Domyślnie w przypadku udziałów plików z włączonym protokołem NFS znaki kropki (.) na końcu katalogu i nazw plików w adresach URL żądań są nie są ignorowane.

W poniższej tabeli porównaliśmy ograniczenia nazewnictwa dla usług Azure Files i Azure Blob Storage:

nazewnictwo i odwoływanie się do kontenerów, obiektów blob i metadanych ograniczenia nazw protokołu SMB
• Nazwa obiektu blob musi mieć długość co najmniej jednego znaku i nie może zawierać więcej niż 1024 znaków.
• W nazwach obiektów blob jest rozróżniana wielkość liter.
• Znaki zastrzeżonego adresu URL muszą być prawidłowo uniknięte.
• Nazwy obiektów blob mogą kończyć się ogranicznikiem katalogu wirtualnego, takim jak ukośnik (/)
• Niedozwolone niedozwolone znaki ścieżki adresu URL: punkty kodu, takie jak \uE000, podczas gdy prawidłowe w nazwach plików NTFS, nie są prawidłowymi znakami Unicode. Ponadto niektóre znaki ASCII lub Unicode, takie jak znaki sterujące (0x00 do 0x1F), również nie są dozwolone. Aby uzyskać reguły dotyczące ciągów Unicode w protokole HTTP/1.1, zobacz RFC 2616, Sekcja 2.2: Podstawowe reguły i RFC 3987.
• Długość nazwy ścieżki nie może przekraczać 32 760 znaków.
• Każdy składnik nazwy ścieżki (plik/katalog) może mieć długość nie więcej niż 255 znaków.
• Nazwa ścieżki składa się z co najmniej jednego składnika nazwy ścieżki oddzielonego znakiem ukośnika odwrotnego (\).
• Nazwa ścieżki to zachowanie wielkości liter i bez uwzględniania wielkości liter (dwie nazwy różniące się tylko w przypadku, gdy nie są dozwolone).
• Nie może mieć ścieżki katalogu, która jest taka sama jak ścieżka pliku.
• Następujące znaki są niedozwolone w nazwie składnika: \ / : ¦ < > * ? "
• Znaki sterujące w zakresie 0x00 przez 0x1F, włącznie, są niedozwolone w nazwie udziału.

Nazwy ścieżek

Nazwa ścieżki składa się z co najmniej jednego składnika nazwy ścieżki (katalogu lub nazwy pliku) oddzielonego znakiem ukośnika (/). Wszystkie składniki nazwy ścieżki inne niż składnik nazwy ostatniej ścieżki oznaczają katalogi. Ostatni składnik nazwy ścieżki określa katalog lub plik. Obowiązują następujące reguły nazewnictwa:

  • Długość nazwy ścieżki nie może przekraczać 2048 znaków. Poszczególne składniki w ścieżce mogą mieć maksymalnie 255 znaków.
  • Nazwa ścieżki składa się z co najmniej jednego składnika nazwy ścieżki oddzielonego znakiem ukośnika (/).
  • Głębokość podkatalogów w ścieżce nie może przekraczać 250.
  • Nie można użyć tej samej nazwy dla pliku i katalogu, który współużytkuje ten sam katalog nadrzędny. Na przykład plik i katalog o nazwie data nie mogą istnieć w tej samej ścieżce nadrzędnej.

Nazwy metadanych

Metadane udziału lub zasobu pliku są przechowywane jako pary nazwa-wartość skojarzone z zasobem. Nazwy metadanych muszą być zgodne z regułami nazewnictwa dla identyfikatorów języka C# .

Nazwy metadanych zachowują wielkość liter, z którymi zostały utworzone, ale nie są uwzględniane wielkości liter podczas ustawiania lub odczytywania. Jeśli dla zasobu są przesyłane co najmniej dwa nagłówki metadanych o tej samej nazwie, usługa Azure File zwraca kod stanu 400 (nieprawidłowe żądanie).

Składnia identyfikatora URI zasobu

Każdy zasób ma odpowiedni podstawowy identyfikator URI, który odwołuje się do samego zasobu. W przypadku konta magazynu podstawowy identyfikator URI zawiera tylko nazwę konta:

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

W przypadku udziału podstawowy identyfikator URI zawiera nazwę konta i nazwę udziału:

https://myaccount.file.core.windows.net/myshare

W przypadku katalogu podstawowy identyfikator URI zawiera nazwę konta, nazwę udziału i ścieżkę katalogu:

https://myaccount.file.core.windows.net/myshare/myparentdir/mydir

W przypadku pliku podstawowy identyfikator URI zawiera nazwę konta, nazwę udziału i ścieżkę pliku:

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  

Zobacz też

  • Pojęcia dotyczące usługi plików