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


Создание каталога

Операция Create Directory создает новый каталог под указанным общим ресурсом или родительским каталогом. Ресурс каталога содержит свойства для этого каталога. Он не содержит список файлов или подкаталогов, содержащихся в каталоге.

Доступность протокола

Протокол общей папки с включенным доступом Доступный
SMB Да
NFS Нет

Просьба

Можно создать запрос Create Directory следующим образом. Рекомендуется использовать ПРОТОКОЛ HTTPS.

Метод URI запроса ВЕРСИЯ HTTP
PUT https://myaccount.file.core.windows.net/myshare/myparentdirectorypath/mydirectory?restype=directory HTTP/1.1

Замените компоненты пути в URI запроса собственным, как показано в следующей таблице:

Компонент path Описание
myaccount Имя учетной записи хранения.
myshare Имя общей папки.
myparentdirectorypath Необязательный. Путь к родительскому каталогу, в котором необходимо создать mydirectory. Если родительский путь к каталогу опущен, каталог будет создан в указанной общей папке.

Если указан родительский каталог, он уже должен существовать в общей папке, прежде чем создать mydirectory.
mydirectory Имя создаваемого каталога.

Дополнительные сведения об ограничениях именования путей см. в разделе Имена и ссылочные папки, каталоги, файлы и метаданные.

Параметры URI

В URI запроса можно указать следующие дополнительные параметры.

Параметр Описание
timeout Необязательный. Параметр timeout выражается в секундах. Дополнительные сведения см. в разделе Настройка времени ожидания операций службы файлов.

Текст запроса

Никакой.

Заголовки запросов

Обязательные и необязательные заголовки запросов описаны в следующей таблице:

Параметр Описание
Authorization Обязательно. Указывает схему авторизации, имя учетной записи и подпись. Дополнительные сведения см. в статье Авторизация запросов к службе хранилища Azure.
Date или x-ms-date Обязательно. Указывает время универсального времени (UTC) для запроса. Дополнительные сведения см. в статье Авторизация запросов к службе хранилища Azure.
x-ms-version Требуется для всех авторизованных запросов. Указывает версию операции, используемой для этого запроса. Дополнительные сведения см. в разделе Управление версиями служб хранилища Azure.
x-ms-meta-name:value Необязательный. Версия 2015-02-21 или более поздняя. Пара "имя-значение", связанная с каталогом в качестве метаданных.

Имена метаданных должны соответствовать правилам именования для идентификаторов C#.
x-ms-file-permission: { inherit ¦ <SDDL> ¦ <binary> } В версии 2019-02-02–2021-04-10 этот заголовок требуется, если x-ms-file-permission-key не указан. По состоянию на версию 2021-06-08 оба заголовка являются необязательными. Это разрешение является дескриптором безопасности для каталога, указанного в языке определения дескриптора безопасности (SDDL) или (версии 2024-11-04 или более поздней) в формате дескриптора безопасности в кодировке Base64 двоичном формате дескриптора безопасности. Можно указать формат, используемый с заголовком x-ms-file-permission-format. Этот заголовок можно использовать, если размер разрешений превышает 8 кибибайт (KiB). В противном случае можно использовать x-ms-file-permission-key. Если он указан, он должен иметь владельца, группу и список управления доступом (DACL). Можно передать значение inherit для наследования от родительского каталога.

примечание. Можно указать x-ms-file-permission или x-ms-file-permission-key. Если ни заголовок не указан, используется значение по умолчанию inherit.
x-ms-file-permission-format: { sddl ¦ binary } Необязательный. Версия 2024-11-04 или более поздняя. Указывает, является ли значение, переданное в x-ms-file-permission, в SDDL или в двоичном формате. Если x-ms-file-permission-key задано значение inherit, этот заголовок не должен быть задан. Если x-ms-file-permission-key задано любое другое значение, отличное от inherit, и если этот заголовок не задан, используется значение по умолчанию sddl.
x-ms-file-permission-key: <PermissionKey> Ключ разрешения, заданного для каталога. В версии 2019-02-02–2021-04-10 этот заголовок требуется, если x-ms-file-permission не указан. По состоянию на версию 2021-06-08 оба заголовка являются необязательными. Этот ключ можно создать с помощью API Create-Permission.

примечание. Можно указать x-ms-file-permission или x-ms-file-permission-key. Если ни заголовок не указан, значение по умолчанию inherit используется для заголовка x-ms-file-permission.
x-ms-file-attributes Обязательный: версия 2019-02-02–2021-04-10. Необязательно: версия 2021-06-08 и более поздняя. Атрибуты файловой системы, заданные в каталоге. См. список доступных атрибутов . Значением по умолчанию является Каталог.
x-ms-file-creation-time: { now ¦ <DateTime> } Обязательно: версия 2019-02-02–2021-04-10. Необязательно: версия 2021-06-08 и более позднюю. Свойство времени создания в формате UTC для каталога. Значение now можно использовать для указания времени запроса. Значение по умолчанию — now.
x-ms-file-last-write-time: { now ¦ <DateTime> } Обязательный: версия 2019-02-02–2021-04-10. Необязательно: версия 2021-06-08 или более поздняя. Последнее свойство записи для каталога в формате UTC. Значение now можно использовать для указания времени запроса. Значение по умолчанию — now.
x-ms-client-request-id Необязательный. Предоставляет созданное клиентом непрозрачное значение с ограничением символов 1-kibibyte (KiB), записанным в журналах при настройке ведения журнала. Настоятельно рекомендуется использовать этот заголовок для сопоставления действий на стороне клиента с запросами, получаемыми сервером. Дополнительные сведения см. в статье Monitor Azure Files.
x-ms-file-change-time: { now ¦ <DateTime> } Необязательный. Свойство времени изменения времени в формате ISO 8601 (UTC) изменится в формате ISO 8601. Версия 2021-06-08 и более позднюю. Значение now можно использовать для указания времени запроса. Значение по умолчанию — now.
x-ms-file-request-intent Требуется, если заголовок Authorization указывает токен OAuth. Допустимое значение равно backup. Этот заголовок указывает, что Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action или Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action следует предоставить, если они включены в политику RBAC, назначенную удостоверению, авторизованному с помощью заголовка Authorization. Доступно для версии 2022-11-02 и более поздних версий.
x-ms-allow-trailing-dot: { <Boolean> } Необязательный. Версия 2022-11-02 и более поздних версий. Логическое значение указывает, следует ли обрезать конечную точку в URL-адресе запроса. Дополнительные сведения см. в разделе Именование и ссылки на общие папки, каталоги, файлы и метаданные.

Пример запроса

PUT https://myaccount.file.core.windows.net/myshare/myparentdirectorypath/mydirectory? restype=directory HTTP/1.1  
  
Request headers:  
x-ms-version: 2014-02-14  
x-ms-date: Mon, 27 Jan 2014 22:50:32 GMT  
x-ms-meta-Category: Images  
Authorization: SharedKey myaccount:Z5043vY9MesKNh0PNtksNc9nbXSSqGHueE00JdjidOQ=  

Ответ

Ответ включает код состояния HTTP и набор заголовков ответа.

Код состояния

Успешная операция возвращает код состояния 201 (создан).

Дополнительные сведения о кодах состояния см. в коды состояния и коды ошибок.

Заголовки ответа

Ответ для этой операции содержит заголовки, описанные в следующей таблице. Ответ также может включать дополнительные стандартные заголовки HTTP. Все стандартные заголовки соответствуют спецификации протокола HTTP/1.1.

Заголовок ответа Описание
ETag Содержит значение, представляющее версию каталога, заключенную в кавычки.
Last-Modified Возвращает дату и время последнего изменения каталога. Формат даты следует RFC 1123. Дополнительные сведения см. в разделе Представление значений даты и времени в заголовках. Любая операция, которая изменяет каталог или его свойства, обновляет время последнего изменения. Операции с файлами не влияют на время последнего изменения каталога.
x-ms-request-id Уникально идентифицирует выполненный запрос и может использоваться для устранения неполадок запроса. Дополнительные сведения см. в разделе Устранение неполадок с операциями API.
x-ms-version Указывает версию файлов Azure, которая использовалась для выполнения запроса.
Date Значение даты и времени в формате UTC, созданное службой, указывающее время, когда был инициирован ответ.
x-ms-request-server-encrypted: true/false Версия 2017-04-17 или более поздняя. Для этого заголовка задано значение true, если содержимое запроса успешно зашифровано с помощью указанного алгоритма и false в противном случае.
x-ms-file-permission-key Ключ разрешения каталога.
x-ms-file-attributes Атрибуты файловой системы в каталоге. См. список доступных атрибутов .
x-ms-file-creation-time Значение даты и времени в формате UTC, представляющее свойство времени создания каталога.
x-ms-file-last-write-time Значение даты и времени в формате UTC, представляющее свойство времени последней записи для каталога.
x-ms-file-change-time Значение даты и времени в формате UTC, представляющее свойство времени изменения для каталога.
x-ms-file-file-id Идентификатор файла каталога.
x-ms-file-parent-id Идентификатор родительского файла каталога.
x-ms-client-request-id Можно использовать для устранения неполадок запросов и соответствующих ответов. Значение этого заголовка равно значению заголовка x-ms-client-request-id, если оно присутствует в запросе, а значение содержит не более 1024 видимых символов ASCII. Если в запросе отсутствует заголовок x-ms-client-request-id, этот заголовок отсутствует в ответе.

Текст ответа

Никакой.

Пример ответа

Response status:  
HTTP/1.1 201 Created  
  
Response headers:  
Transfer-Encoding: chunked  
Date: Mon, 27 Jan 2014 23:00:12 GMT  
ETag: "0x8CB14C3E29B7E82"  
Last-Modified: Mon, 27 Jan 2014 23:00:06 GMT  
x-ms-version: 2014-02-14  
Server: Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0  

Авторизация

Только владелец учетной записи может вызвать эту операцию.

Атрибуты файловой системы

Атрибут Атрибут файла Win32 Определение
ReadOnly FILE_ATTRIBUTE_READONLY Каталог, доступный только для чтения.
Скрытый FILE_ATTRIBUTE_HIDDEN Каталог скрыт. Он не включен в обычный список каталогов.
Система FILE_ATTRIBUTE_SYSTEM Каталог, который операционная система использует часть или использует исключительно.
Никакой FILE_ATTRIBUTE_NORMAL Каталог, который не имеет других атрибутов. Этот атрибут действителен только в том случае, если он используется отдельно.
Каталог FILE_ATTRIBUTE_DIRECTORY Дескриптор, определяющий каталог.
Архив FILE_ATTRIBUTE_ARCHIVE Каталог, который является архивным каталогом. Приложения обычно используют этот атрибут для пометки файлов для резервного копирования или удаления.
Автономный FILE_ATTRIBUTE_OFFLINE Данные каталога недоступны сразу. Этот атрибут файловой системы представлен в основном для обеспечения совместимости с Windows. Файлы Azure не поддерживают его с параметрами автономного хранилища.
NotContentIndexed FILE_ATTRIBUTE_NOT_CONTENT_INDEXED Каталог не индексируется службой индексирования содержимого.
NoScrubData FILE_ATTRIBUTE_NO_SCRUB_DATA Поток данных пользователя, который не для чтения с помощью средства проверки целостности фоновых данных. Этот атрибут файловой системы представлен в основном для обеспечения совместимости с Windows.

Замечания

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

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

Невозможно создать иерархию каталогов с одной операцией Create Directory. Каталог можно создать только в том случае, если его непосредственный родительский объект уже существует, как указано в пути. Если родительский каталог не существует, операция завершается ошибкой с кодом состояния 412 (сбой предварительных условий).

Create Directory не поддерживается в моментальном снимке общего ресурса, который является копией общего ресурса только для чтения. Попытка выполнить эту операцию на моментальном снимке общего ресурса завершится ошибкой 400 (InvalidQueryParameterValue)

См. также

операции с каталогами