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


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

Операция 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 Необязательный элемент. Версия 21.02.2015 или более поздняя. Пара "имя-значение", связанная с каталогом в качестве метаданных.

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

Примечание. Можно указать или x-ms-file-permissionx-ms-file-permission-key. Если ни заголовок не указан, используется значение inherit по умолчанию .
x-ms-file-permission-key: <PermissionKey> Ключ разрешения, устанавливаемого для каталога. В версиях с 2019-02-02 по 2021-04-10 этот заголовок является обязательным, если x-ms-file-permission не указан. Начиная с версии 2021-06-08 оба заголовка являются необязательными. Этот ключ можно создать с помощью Create-Permission API.

Примечание. Можно указать или x-ms-file-permissionx-ms-file-permission-key. Если ни заголовок не указан, для заголовка inherit используется x-ms-file-permission значение по умолчанию .
x-ms-file-attributes Обязательный: версии с 2019-02-02 по 2021-04-10. Необязательно: версия 2021-06-08 и выше. Атрибуты файловой системы, которые необходимо задать в каталоге. См. список доступных атрибутов. Значение по умолчанию — Directory.
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 кибибайт (КиБ), которое записывается в журналы при настройке ведения журнала. Мы настоятельно рекомендуем использовать этот заголовок для сопоставления действий на стороне клиента с запросами, получаемыми сервером. Дополнительные сведения см. в разделе Мониторинг Файлы Azure.
x-ms-file-change-time: { now ¦ <DateTime> } Необязательный элемент. Свойство времени изменения в формате UTC для каталога в формате ISO 8601. Версия 2021-06-08 и более поздние. Для указания времени запроса можно использовать значение now . Значение по умолчанию — now.
x-ms-file-request-intent Требуется, если Authorization заголовок указывает токен OAuth. Допустимое значение — backup. Этот заголовок указывает, что Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/actionMicrosoft.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 Версия 17.04.2017 или более поздняя. Значение этого заголовка устанавливается в значение , 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  

Авторизация

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

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

attribute Атрибут файла Win32 Определение
Только для чтения FILE_ATTRIBUTE_READONLY Каталог, доступный только для чтения.
Скрытый FILE_ATTRIBUTE_HIDDEN Каталог скрыт. Он не включен в обычный список каталогов.
Система FILE_ATTRIBUTE_SYSTEM Каталог, частью в котором операционная система используется или используется исключительно.
Нет FILE_ATTRIBUTE_NORMAL Каталог, в который не заданы другие атрибуты. Этот атрибут действителен только в том случае, если он используется отдельно.
Directory 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не поддерживается в общей snapshot, которая является копией общего ресурса только для чтения. Попытка выполнить эту операцию в общей snapshot завершится ошибкой 400 (InvalidQueryParameterValue)

См. также раздел

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