Прочитать на английском

Поделиться через


Именование и ссылка на общие папки, каталоги, файлы и метаданные

Учетная запись хранения может содержать ноль или больше общих папок Azure. Общая папка содержит свойства, метаданные и ноль или несколько файлов или каталогов. Каталог содержит свойства и ноль или больше файлов или каталогов. Файл — это любая отдельная сущность, состоящая из двоичных данных, свойств и метаданных.

Имена ресурсов

Универсальный код ресурса (URI) для ссылки на общий ресурс, каталог или файл должен быть уникальным. В заданной учетной записи хранения каждый общий ресурс должен иметь уникальное имя. Каждый файл в заданной общей папке или каталоге также должен иметь уникальное имя в этой общей папке или каталоге.

Если вы пытаетесь создать общую папку, каталог или файл с именем, которое нарушает правила именования, запрос завершается ошибкой с кодом состояния 400 (недопустимый запрос).

Имена общих файлов

Правила для имен общих папок файловой службы более строги, чем правила, предписанные протоколом SMB для имен общих папок SMB, чтобы службы BLOB-объектов и файловых служб могли совместно использовать аналогичные соглашения об именовании контейнеров и общих папок. Ограничения именования для общих папок приведены следующим образом:

  • Имя общей папки должно быть допустимым DNS-именем.
  • Имена общих ресурсов должны начинаться с буквы или номера, а также содержать только буквы, цифры и символ дефиса или минуса (-).
  • Каждый дефис/минус (-) должен быть немедленно предшествуем и за ним следует буква или число; Последовательные дефисы не допускаются в именах общих ресурсов.
  • Все буквы в имени общей папки должны быть строчными буквами.
  • Имена общих файлов должны иметь длину от 3 до 63 символов.

В следующей таблице сравниваются ограничения именования для файлов Azure и хранилища BLOB-объектов Azure:

именование и ссылки на контейнеры, большие двоичные объекты и метаданные ограничения имен общего ресурса SMB
• Имя контейнера должно быть допустимым DNS-именем.
• Имена контейнеров должны начинаться с буквы или числа, и могут содержать только буквы, цифры и дефис/минус (-).
• Каждый дефис/минус (-) символ должен быть немедленно предшествует и за ним следует буква или число; Последовательные дефисы не допускаются в именах контейнеров.
• Все буквы в имени контейнера должны быть строчными буквами.
• Имена контейнеров должны содержать от 3 до 63 символов.
• Имя общей папки должно содержать не более 80 символов.
• Следующие символы являются незаконными в имени общей папки: \ / [ ] : ¦ < > + = ; , * ? "
• Контрольные символы в диапазоне 0x00 через 0x1F, включительно, являются незаконными в имени общей папки.
• Все остальные символы Юникода являются законными.
• Имена сохраняют регистр и не учитывает регистр.

Имена каталогов и файлов

Файлы Azure применяют следующие правила именования для имен каталогов и файлов:

  • Имена каталогов и файлов сохраняют регистр и не учитывает регистр.
  • Имена компонентов каталога и файлов должны содержать не более 255 символов.
  • Имена каталогов не могут заканчиваться символом косой черты (/). Если оно указано, оно будет автоматически удалено.
  • Имена файлов не должны заканчиваться символом косой черты (/).
  • Зарезервированные символы URL-адреса должны быть правильно экранированы.
  • Недопустимы следующие символы: " \ / : | < > * ?
  • Недопустимые символы пути URL-адреса запрещены. Кодовые точки, такие как \uE000, в то время как допустимы в именах файлов NTFS, не являются допустимыми символами Юникода. Кроме того, некоторые символы ASCII или Юникода, такие как символы управления (0x00 для 0x1F), также не допускаются. Правила, управляющие строками Юникода в HTTP/1.1, см. RFC 2616, раздел 2.2. Основные правила и RFC 3987.
  • Недопустимые символы Юникода (называемые недопустимыми суррогатными парами) не поддерживаются.
  • Следующие имена файлов не допускаются: LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT8, LPT9, COM2, COM2, COM3, COM5, COM5, COM6, COM7, COM8, COM8, COM8, PRN, AUX, NUL, CON, CLOCK$, dot символ (.) и два символа точки (.).
  • Начиная с версии 2021-12-02, имена каталогов и файлов поддерживают символы U+FFFE и U+FFFF через все операции. Эти символы также поддерживаются с помощью протоколов SMB и REST. каталог и файлы списка и дескриптора списков требуют специальной обработки этих символов, как упоминалось в соответствующей документации.

По умолчанию для общих папок с включенным протоколом SMB символы точки (.) в конце имен каталогов и файлов в URL-адресах запросов игнорируются или не удаляются.

  • Например, если создается файл с именем file1..., точки в конце будут игнорироваться, а файл с именем file1 создается. То же самое относится к каталогам в пути. Если запрос на создание файла содержит путь \Dir1\Dir2…\File1, то файл будет создан в \Dir1\Dir2\File1.
  • Однако начиная с версии 2022-11-02по умолчанию можно переопределить, задав заголовок x-ms-allow-trailing-dottrue в URL-запросе.
  • Например, если вы хотите создать файл с именем file1... и включить конечные точки, x-ms-allow-trailing-dot следует включить в заголовок запроса и задать для true. Это же относится к созданию имен каталогов.
  • Если требуется включить конечные точки в имя исходного файла, то для заголовка x-ms-source-allow-trailing-dot необходимо задать значение true. Дополнительные сведения см. в доступных параметрах заголовка для каждого отдельного REST API.

По умолчанию для общих папок с включенным протоколом NFS символы точки (.) в конце имен каталогов и файлов в URL-адресах запросов не игнорируются.

В следующей таблице сравниваются ограничения именования для файлов Azure и хранилища BLOB-объектов Azure:

именование и ссылки на контейнеры, большие двоичные объекты и метаданные ограничения имен протокола SMB
• Имя большого двоичного объекта должно быть по крайней мере одним символом длиной и не может превышать 1024 символов.
• Имена BLOB-объектов чувствительны к регистру.
• Зарезервированные символы URL-адреса должны быть правильно экранированы.
• Имена BLOB-объектов могут заканчиваться разделителем виртуального каталога, например косой чертой (/)
• Недопустимые символы пути URL-адреса: кодовые точки, такие как \uE000, в то время как допустимы в именах файлов NTFS, не являются допустимыми символами Юникода. Кроме того, некоторые символы ASCII или Юникод, такие как символы управления (0x00 к 0x1F), также не допускаются. Правила, управляющие строками Юникода в HTTP/1.1, см. RFC 2616, раздел 2.2. Основные правила и RFC 3987.
• Имя пути не может превышать 32 760 символов в длину.
• Каждый компонент имени пути (файл или каталог) не может превышать 255 символов.
• Имя пути состоит из одного или нескольких компонентов имени пути, разделенных символом обратной косой черты (\).
• Имя пути — это сохранение регистра и не учитывает регистр (два имена, которые отличаются только в случае не допускается).
• Не удается получить путь к каталогу, который совпадает с путем к файлу.
• Следующие символы являются незаконными в имени компонента: \ / : ¦ < > * ? "
• Контрольные символы в диапазоне 0x00 через 0x1F, включительно, являются незаконными в имени общей папки.

Имена путей

Имя пути состоит из одного или нескольких компонентов имени пути (каталог или имя файла), разделенных символом косой черты (/). Все компоненты имени пути, отличные от компонента имени последнего пути, указывают каталоги. Компонент имени последнего пути обозначает каталог или файл. Применяются следующие правила именования:

  • Имя пути не может превышать 2 048 символов. Отдельные компоненты в пути могут содержать не более 255 символов.
  • Имя пути состоит из одного или нескольких компонентов имени пути, разделенных символом косой черты (/).
  • Глубина подкаталогов в пути не может превышать 250.
  • То же имя нельзя использовать для файла и каталога, который использует один и тот же родительский каталог. Например, файл и каталог, которые являются каждым именованным data, не могут существовать в одном родительском пути.

Имена метаданных

Метаданные для ресурса общей папки или файла хранятся в виде пар "имя-значение", связанных с ресурсом. Имена метаданных должны соответствовать правилам именования для идентификаторов C#.

Имена метаданных сохраняют регистр, с которым они были созданы, но не учитывают регистр при установке или чтении. Если для ресурса отправляются два или более заголовков метаданных с одинаковым именем, служба файлов Azure возвращает код состояния 400 (недопустимый запрос).

Синтаксис URI ресурса

Каждый ресурс имеет соответствующий базовый URI, который относится к самому ресурсу. Для учетной записи хранения базовый универсальный код ресурса (URI) содержит только имя учетной записи:

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

Для общей папки базовый универсальный код ресурса (URI) содержит имя учетной записи и имя общей папки:

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

Для каталога базовый универсальный код ресурса (URI) содержит имя учетной записи, имя общей папки и путь к каталогу:

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

Для файла базовый универсальный код ресурса (URI) содержит имя учетной записи, имя общей папки и путь к файлу:

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  

См. также

  • Основные понятия службы файлов