Создание файла

Операция Create File создает новый файл или заменяет существующий файл. При вызове Create Fileинициализируется только файл . Чтобы добавить содержимое в файл, вызовите Put Range операцию .

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

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

Запрос

Вы можете создать запрос, Create File выполнив следующие действия. Рекомендуется использовать ПРОТОКОЛ HTTPS.

Метод Универсальный код ресурса (URI) запроса параметр "Версия HTTP"
PUT https://myaccount.file.core.windows.net/myshare/mydirectorypath/myfile HTTP/1.1

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

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

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

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

Параметры универсального кода ресурса (URI)

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

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

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

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

Заголовок запроса Описание
Authorization Обязательный. Указывает схему авторизации, имя учетной записи и подпись. Дополнительные сведения см. в статье Авторизация запросов к Службе хранилища Azure.
Date или x-ms-date Обязательный. Задает время в формате UTC для запроса. Дополнительные сведения см. в статье Авторизация запросов к Службе хранилища Azure.
x-ms-version Требуется для всех авторизованных запросов. Задает версию операции, используемой для этого запроса. Дополнительные сведения см. в разделе Управление версиями для служб хранилища Azure.
Content-Length Необязательный элемент. При наличии значение должно быть равно нулю.
x-ms-content-length: byte value Обязательный. Этот заголовок задает максимальный размер файла ( до 4 тиБ).
Content-Type или x-ms-content-type Необязательный элемент. Тип содержимого MIME файла. Значение по умолчанию — application/octet-stream.
Content-Encoding или x-ms-content-encoding Необязательный элемент. Указывает, какие кодировки содержимого были применены к файлу. Это значение возвращается клиенту при выполнении операции Получения файла для файлового ресурса, и его можно использовать для декодирования содержимого файла.
Content-Language или x-ms-content-language Необязательный элемент. Указывает естественные языки, используемые этим ресурсом.
Cache-Control или x-ms-cache-control Необязательный элемент. Файлы Azure сохраняет это значение, но не использует и не изменяет его.
x-ms-content-md5 Необязательный элемент. Задает хэш MD5 файла.
x-ms-content-disposition Необязательный элемент. Задает заголовок файла Content-Disposition .
x-ms-type: file Обязательный. Задайте для этого заголовка значение file.
x-ms-meta-name:value Необязательный элемент. Пары "имя-значение", связанные с файлом в виде метаданных. Имена метаданных должны соответствовать правилам именования для идентификаторов C#.

Примечание. Метаданные файла, указанные с помощью Файлы Azure, недоступны из клиента SMB.
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-permission-key: <PermissionKey> В версиях с 2019-02-02 по 2021-04-10 этот заголовок является обязательным, если x-ms-file-permission не указан. Начиная с версии 2021-06-08 оба заголовка являются необязательными. Если ни заголовок не указан, для заголовка inherit используется x-ms-file-permission значение по умолчанию .

Ключ можно создать, вызвав Create Permission API.
x-ms-file-attributes Обязательный: версии с 2019-02-02 по 2021-04-10. Необязательно: версия 2021-06-08 и выше. Этот заголовок содержит атрибуты файловой системы, которые необходимо задать в файле. Дополнительные сведения см. в списке доступных атрибутов. Значение по умолчанию — None.
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-lease-id: <ID> Требуется, если файл имеет активную аренду. Доступно для версии 2019-02-02 и более поздних версий.
x-ms-client-request-id Необязательный элемент. Предоставляет созданное клиентом непрозрачное значение с ограничением в 1 кибибайт (КиБ), которое записывается в журналы при настройке ведения журнала. Мы настоятельно рекомендуем использовать этот заголовок для сопоставления действий на стороне клиента с запросами, получаемыми сервером. Дополнительные сведения см. в разделе Мониторинг Файлы Azure.
x-ms-file-change-time: { now ¦ <DateTime> } Необязательный элемент. Версия 08.06.2021 и более поздняя. Свойство времени изменения в формате UTC для файла в формате ISO 8601. Для указания времени запроса можно использовать значение 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> } Необязательный элемент. Версия 02.11.2022 и более поздняя. Логическое значение указывает, следует ли обрезать завершающую точку в URL-адресе запроса. Дополнительные сведения см. в статье Именование общих папок, каталогов, файлов и метаданных и ссылки на нее.

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

Нет.

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

Request Syntax:  
PUT https://myaccount.file.core.windows.net/myshare/myfile HTTP/1.1  
  
Request Headers:  
x-ms-version: 2020-02-10
x-ms-date: Mon, 27 Jan 2014 22:41:55 GMT  
Content-Type: text/plain; charset=UTF-8  
x-ms-content-length: 1024  
Authorization: SharedKey myaccount:YhuFJjN4fAR8/AmBrqBz7MG2uFinQ4rkh4dscbj598g=  
  

Ответ

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

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

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

Сведения о кодах состояния см. в разделе Коды состояния и ошибок.

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

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

Заголовок ответа Описание
ETag 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 Файл, для которых не заданы другие атрибуты. Этот атрибут действителен только при использовании отдельно.
Архив FILE_ATTRIBUTE_ARCHIVE Файл, который является архивным файлом. Приложения обычно используют этот атрибут для пометки файлов для резервного копирования или удаления.
Временный диск FILE_ATTRIBUTE_TEMPORARY Файл, используемый для временного хранения.
Автономная миграция FILE_ATTRIBUTE_OFFLINE Данные файла доступны не сразу. Этот атрибут файловой системы представлен в первую очередь для обеспечения совместимости с Windows. Файлы Azure не поддерживает его с вариантами автономного хранилища.
NotContentIndexed FILE_ATTRIBUTE_NOT_CONTENT_INDEXED Файл не должен индексироваться службой индексирования содержимого.
NoScrubData FILE_ATTRIBUTE_NO_SCRUB_DATA Поток данных пользователя, который не должен считываться сканером целостности данных в фоновом режиме. Этот атрибут файловой системы представлен в первую очередь для обеспечения совместимости с Windows.

Комментарии

Чтобы создать новый файл, сначала инициализируйте его, вызвав Create File и указав его максимальный размер до 4 ТиБ. При выполнении этой операции не включайте содержимое в текст запроса. После создания файла вызовите Put Range , чтобы добавить содержимое в файл или изменить его.

Можно изменить размер файла, вызвав Set File Properties.

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

Примечание

Свойства cache-controlфайла , content-type, content-md5, content-encodingи content-language отделены от свойств файловой системы, доступных клиентам SMB. Клиенты SMB не могут считывать, записывать или изменять эти значения свойств.

Чтобы создать файл, если существующий файл имеет активную аренду, клиент должен указать действительный идентификатор аренды в запросе. Если клиент не указывает идентификатор аренды или задает недопустимый идентификатор аренды, Файлы Azure возвращает код состояния 412 (сбой предварительного условия). Если клиент указывает идентификатор аренды, но файл не имеет активной аренды, Файлы Azure также возвращает код состояния 412 (сбой предварительного условия) в этом экземпляре. Если клиент указывает идентификатор аренды для файла, который еще не существует, Файлы Azure возвращает код состояния 412 (сбой условия) для запросов, выполненных в отношении версии 2019-02-02 и более поздних версий.

Если существующий файл с активной арендой перезаписан операцией Create File , аренда сохраняется в обновленном файле до его освобождения.

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

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

Операции с Файлы Azure