Path - Create

Создание файла | Создание каталога | Переименование файла | Переименование каталога
Создание или переименование файла или каталога. По умолчанию назначение перезаписывается, и если назначение уже существует и имеет аренду, аренда прерывается. Обратите внимание, что переименование файла или каталога в контейнер с принудительной политикой шифрования контейнеров не допускается, если исходный контейнер также не имеет принудительной политики шифрования контейнеров, которая соответствует. Эта операция поддерживает условные HTTP-запросы. Дополнительные сведения см. в статье Указание условных заголовков для операций службы BLOB-объектов. Чтобы завершиться ошибкой, если назначение уже существует, используйте условный запрос с if-None-Match: "*".

PUT https://{accountName}.{dnsSuffix}/{filesystem}/{path}
PUT https://{accountName}.{dnsSuffix}/{filesystem}/{path}?resource={resource}&continuation={continuation}&mode={mode}&timeout={timeout}

Параметры URI

Имя В Обязательно Тип Описание
accountName
path True

string

Имя учетной записи хранения Azure.

dnsSuffix
path True

string

DNS-суффикс для конечной точки Azure Data Lake Storage.

filesystem
path True

string

Идентификатор файловой системы.

Regex pattern: ^[$a-z0-9](?!.*--)[-a-z0-9]{1,61}[a-z0-9]$

path
path True

string

Путь к файлу или каталогу.

continuation
query

string

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

mode
query

PathRenameMode

Необязательный элемент. Допустимо, только если включено пространство имен. Этот параметр определяет поведение операции переименования. Значение должно быть "legacy" или "posix", а значением по умолчанию будет "posix".

resource
query

PathResourceType

Требуется только для создания файла и создания каталога. Значение должно быть "file" или "directory".

timeout
query

integer

int32

Необязательное значение времени ожидания операции в секундах. Период начинается с момента получения запроса службой. Если время ожидания истекает до завершения операции, операция завершается сбоем.

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

Media Types: "application/octet-stream"

Имя Обязательно Тип Описание
Cache-Control

string

Необязательный элемент. Служба сохраняет это значение и включает его в заголовок ответа "Cache-Control" для операций "Чтение файла" для операций "Чтение файла".

Content-Encoding

string

Необязательный элемент. Указывает, какие кодировки содержимого были применены к файлу. Это значение возвращается клиенту при выполнении операции "Чтение файла".

Content-Language

string

Необязательный элемент. Указывает естественный язык, используемый целевой аудиторией для файла.

Content-Disposition

string

Необязательный элемент. Служба сохраняет это значение и включает его в заголовок ответа "Content-Disposition" для операций "Чтение файла".

x-ms-cache-control

string

Необязательный элемент. Служба сохраняет это значение и включает его в заголовок ответа "Cache-Control" для операций "Чтение файла".

x-ms-content-type

string

Необязательный элемент. Служба сохраняет это значение и включает его в заголовок ответа Content-Type для операций чтения файла.

x-ms-content-encoding

string

Необязательный элемент. Служба сохраняет это значение и включает его в заголовок ответа Content-Encoding для операций чтения файла.

x-ms-content-language

string

Необязательный элемент. Служба сохраняет это значение и включает его в заголовок ответа Content-Language для операций "Чтение файла".

x-ms-content-disposition

string

Необязательный элемент. Служба сохраняет это значение и включает его в заголовок ответа "Content-Disposition" для операций "Чтение файла".

x-ms-rename-source

string

Необязательный файл или каталог для переименования. При использовании маркера SAS значение должно иметь следующий формат: "/{filesystem}/{path}" или "/{filesystem}/{path}?sastoken". Если указано "x-ms-properties", свойства перезаписывают существующие свойства; В противном случае существующие свойства будут сохранены. Это значение должно быть строкой URL-адреса, закодированной в процентах. Обратите внимание, что строка может содержать только символы ASCII в кодировке ISO-8859-1.

x-ms-lease-id

string

Необязательный элемент. Идентификатор аренды для пути, указанного в URI. Перезаписываемый путь должен иметь активную аренду, а идентификатор аренды должен совпадать.

Regex pattern: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$

x-ms-source-lease-id

string

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

Regex pattern: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$

x-ms-properties

string

Необязательный элемент. Определяемые пользователем свойства, которые хранятся в файле или каталоге, в формате разделенного запятыми списка пар "n1=v1, n2=v2, ...", где каждое значение представляет собой строку в кодировке base64. Обратите внимание, что строка может содержать только символы ASCII в кодировке ISO-8859-1.

x-ms-permissions

string

Необязательный и допустимый только в том случае, если для учетной записи включено иерархическое пространство имен. Задает разрешения на доступ к POSIX для владельца файла, группы владельцев файлов и других пользователей. Каждому классу может быть предоставлено разрешение на чтение (4), запись (2) или выполнение (1). Поддерживаются символьная (rwxrw-rw-) и восьмеричная нотация из 4 цифр (например, 0766). Липкий бит также поддерживается и в символьной нотации, он представлен буквой t или T в конечном символьном месте в зависимости от того, задан или не задан бит выполнения для других категорий соответственно (например, rwxrw-rw- с липким битом представляется как rwxrw-rwT). Rwxrw-rwx с липким битом представлен как rwxrw-rwt), отсутствие t или T указывает, что липкий бит не задан. В 4-значной восьмеричной нотации она представлена 1-й цифрой (например, 1766 представляет rwxrw-rw- с липким битом, а 0766 — rwxrw-rw- без липкого бита). Недопустимо в сочетании с x-ms-acl.

x-ms-umask

string

Необязательный и допустимый только в том случае, если для учетной записи включено иерархическое пространство имен. При создании файла или каталога, а родительская папка не имеет ACL по умолчанию, umask ограничивает разрешения создаваемого файла или каталога. Полученное разрешение предоставляется p & ^u, где p — это разрешение, а вы — umask. Например, если p имеет значение 0777, а вы — 0057, то полученное разрешение — 0720. Разрешение по умолчанию — 0777 для каталога и 0666 для файла. Значение umask по умолчанию — 0027. Umask необходимо указать в 4-значной восьмеричной нотации (например, 0766).

x-ms-owner

string

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

x-ms-group

string

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

x-ms-acl

string

Необязательный и допустимый только в том случае, если для учетной записи включено иерархическое пространство имен. Задает права управления доступом POSIX к файлам и каталогам. Каждая запись управления доступом (ACE) состоит из область, типа, идентификатора пользователя или группы и разрешений в формате "[область:][тип]:[id]:[permissions]". Область должно быть "по умолчанию", чтобы указать, что ACE принадлежит ACL по умолчанию для каталога; в противном случае область является неявным, а ACE принадлежит к ACL доступа. Существует четыре типа ACE: "пользователь" предоставляет права владельцу или именованный пользователь, "группа" предоставляет права группе-владельцу или именованной группе, "маска" ограничивает права, предоставляемые именованным пользователям и членам групп, а "другое" предоставляет права всем пользователям, которых нет ни в одной из других записей. Идентификатор пользователя или группы опущен для записей типа mask и other. Идентификатор пользователя или группы также опущен для владельца и группы-владельца. Поле разрешения представляет собой последовательность из 3 символов, где первый символ — "r" для предоставления доступа на чтение, второй символ — "w" для предоставления доступа на запись, а третий символ — "x" для предоставления разрешения на выполнение. Если доступ не предоставлен, символ "-" используется для обозначения отказа в разрешении. Например, следующий список управления доступом предоставляет права на чтение, запись и выполнение владельцу файла и john.doe@contoso, право на чтение группе-владельцу и ничего не предоставляет всем остальным: "user::rwx,user:john.doe@contoso:rwx,group::r--,other::---,mask=rwx". Недопустимо в сочетании с x-ms-permissions.

x-ms-proposed-lease-id

string

Необязательный элемент. Укажите предлагаемый идентификатор аренды, если вы хотите получить аренду во время создания файла или каталога. Аренда будет получена с этим идентификатором аренды в случае успешного создания.

Regex pattern: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$

x-ms-expiry-option

string

Необязательный и допустимый только в том случае, если иерархическое пространство имен включено для учетной записи и поддерживается только для файлов. Укажите один из следующих параметров срока действия, если вы хотите задать время окончания срока действия для файла во время создания. "RelativeToNow" Установите срок действия относительно текущего времени. Пользователь передаст время в миллисекундах, прошедшее с этого момента. "Абсолютное" Абсолютное время в формате RFC 1123. "Neverexpire" Установите для файла никогда не истечет, время истечения срока действия не нужно указывать с помощью этого параметра.

x-ms-expiry-time

string

Необязательный и допустимый только в том случае, если иерархическое пространство имен включено для учетной записи и поддерживается только для файлов. Укажите время окончания срока действия файла. Определяется как строка времени HTTP RFC 1123 или количество миллисекундах в соответствии с параметром expiry-option.

If-Match

string

Необязательный элемент. Значение ETag. Укажите этот заголовок для выполнения операции только в том случае, если ETag ресурса соответствует указанному значению. ETag необходимо указать в кавычках.

If-None-Match

string

Необязательный элемент. Значение ETag или специальный подстановочный знак ("*"). Укажите этот заголовок для выполнения операции только в том случае, если ETag ресурса не соответствует указанному значению. ETag необходимо указать в кавычках.

If-Modified-Since

string

Необязательный элемент. Значение даты и времени. Укажите этот заголовок для выполнения операции только в том случае, если ресурс был изменен с указанной даты и времени.

If-Unmodified-Since

string

Необязательный элемент. Значение даты и времени. Укажите этот заголовок для выполнения операции только в том случае, если ресурс не был изменен с указанной даты и времени.

x-ms-source-if-match

string

Необязательный элемент. Значение ETag. Укажите этот заголовок, чтобы выполнить операцию переименования, только если ETag источника соответствует указанному значению. ETag необходимо указать в кавычках.

x-ms-source-if-none-match

string

Необязательный элемент. Значение ETag или специальный подстановочный знак ("*"). Укажите этот заголовок, чтобы выполнить операцию переименования, только если ETag источника не соответствует указанному значению. ETag необходимо указать в кавычках.

x-ms-source-if-modified-since

string

Необязательный элемент. Значение даты и времени. Укажите этот заголовок, чтобы выполнить операцию переименования, только если источник был изменен с указанной даты и времени.

x-ms-source-if-unmodified-since

string

Необязательный элемент. Значение даты и времени. Укажите этот заголовок, чтобы выполнить операцию переименования, только если источник не был изменен с указанной даты и времени.

x-ms-encryption-key

string

Необязательный элемент. Ключ шифрования AES-256 в кодировке Base64.

x-ms-encryption-key-sha256

string

Необязательный элемент. Хэш SHA256 ключа шифрования в кодировке Base64.

x-ms-encryption-algorithm: AES256

string

Необязательный элемент. Указывает алгоритм, используемый для шифрования. Значение этого заголовка должно быть AES256.

x-ms-encryption-context

string

Необязательный элемент. Значение по умолчанию — "Пустой". Если значение задано, будут заданы метаданные BLOB-объекта или файловой системы. Максимальная длина — 1024. Допустимо, только если для учетной записи включено иерархическое пространство имен.

x-ms-client-request-id

string

UUID, записанный в журналы аналитики для устранения неполадок и корреляции.

Regex pattern: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$

x-ms-date

string

Задает время запроса в формате UTC. Это необходимо при использовании авторизации с общим ключом.

x-ms-version

string

Указывает версию протокола REST, используемого для обработки запроса. Это необходимо при использовании авторизации с общим ключом.

Ответы

Имя Тип Описание
201 Created

Файл или каталог был создан.

Headers

  • Date: string
  • ETag: string
  • Last-Modified: string
  • x-ms-request-id: string
  • x-ms-version: string
  • x-ms-continuation: string
  • Content-Length: integer
  • x-ms-request-server-encrypted: true/false: boolean
  • x-ms-encryption-key-sha256: string
  • x-ms-encryption-scope: string
Other Status Codes

DataLakeStorageError

Произошла ошибка. Ниже перечислены возможные строки состояния HTTP, кода и сообщений.

  • 400 Bad Request, ContentLengthMustBeZero, "Заголовок запроса Content-Length должен быть равен нулю".
  • 400 Bad Request, InvalidAuthenticationInfo, "Сведения о проверке подлинности не предоставлены в правильном формате. Проверьте значение заголовка авторизации".
  • 400 Bad Request, InvalidFlushPosition, "Отправленные данные не являются непрерывными или значение параметра запроса position не равно длине файла после добавления отправленных данных".
  • 400 Bad Request, InvalidHeaderValue, "Значение для одного из заголовков HTTP имеет неправильный формат".
  • 400 Bad Request, InvalidHttpVerb, "Указана недопустимая HTTP-команда , она не распознана сервером".
  • 400 Bad Request, InvalidInput, "Один из входных данных запроса недопустим".
  • 400 Bad Request, InvalidPropertyName, "Имя свойства не может быть пустым".
  • 400 Bad Request, InvalidPropertyName, "Имя свойства содержит недопустимые символы".
  • 400 Bad Request, InvalidQueryParameterValue, "Значение для одного из параметров запроса, указанных в URI запроса, недопустимо".
  • 400 Bad Request, InvalidResourceName, "Указанное имя ресурса содержит недопустимые символы".
  • 400 Bad Request, InvalidSourceUri, "Недопустимый URI источника".
  • 400 Bad Request, InvalidUri, "Недопустимый URI запроса".
  • 400 Bad Request, MissingRequiredHeader, "Http-заголовок, который является обязательным для этого запроса, не указан".
  • 400 Bad Request, MissingRequiredQueryParameter, "Параметр запроса, который является обязательным для этого запроса, не указан".
  • 400 Bad Request, MultipleConditionHeadersNotSupported, "Несколько заголовков условий не поддерживаются".
  • 400 Bad Request, OutOfRangeInput, "Один из входных данных запроса находится вне диапазона".
  • 400 Bad Request, OutOfRangeQueryParameterValue, "Один из параметров запроса, указанных в URI запроса, находится за пределами допустимого диапазона".
  • 400 Bad Request, UnsupportedHeader, "Один из заголовков, указанных в запросе, не поддерживается".
  • 400 Bad Request, UnsupportedQueryParameter, "Один из параметров запроса, указанных в URI запроса, не поддерживается".
  • 400 Bad Request, UnsupportedRestVersion, "Указанная версия rest не поддерживается".
  • 403 Запрещено, AccountIsDisabled, "Указанная учетная запись отключена".
  • 403 Запрещено, AuthorizationFailure, "Этот запрос не авторизован для выполнения этой операции".
  • 403 Forbidden, InsufficientAccountPermissions, "У учетной записи, к которой осуществляется доступ, нет достаточных разрешений для выполнения этой операции".
  • 404 Не найдено, FilesystemNotFound, "Указанная файловая система не существует".
  • 404 Не найдено, PathNotFound, "Указанный путь не существует".
  • 404 Not Found, RenameDestinationParentPathNotFound, "Родительский каталог пути назначения не существует".
  • 404 Не найдено, ResourceNotFound, "Указанный ресурс не существует".
  • 404 Not Found, SourcePathNotFound, "Исходный путь для операции переименования не существует".
  • 405 Method Not Allowed, UnsupportedHttpVerb, The resource't support the specified HTTP verb.
  • 409 Conflict, DestinationPathIsBeingDeleted, "Указанный путь назначения помечен для удаления".
  • 409 Conflict, DirectoryNotEmpty, "Значение параметра рекурсивного запроса должно быть true для удаления непустого каталога".
  • 409 Conflict, FilesystemAlreadyExists, "Указанная файловая система уже существует".
  • 409 Conflict, FilesystemBeingDeleted, "Указанная файловая система удаляется".
  • 409 Conflict, InvalidDestinationPath, "Указанный путь или элемент пути существует и его тип ресурса недопустим для этой операции". * 409 Conflict, InvalidFlushOperation, "Ресурс был создан или изменен API службы BLOB-объектов и не может быть записан с помощью API службы Data Lake Storage".
  • 409 Conflict, InvalidRenameSourcePath, "Исходный каталог не может совпадать с целевым каталогом, а назначение не может быть подкаталогом исходного каталога".
  • 409 Conflict, InvalidSourceOrDestinationResourceType, "Исходный и целевой типы ресурсов должны быть идентичными".
  • 409 Conflict, LeaseAlreadyPresent, "Есть уже арендный подарок".
  • 409 Conflict, LeaseIdMismatchWithLeaseOperation, "Указанный идентификатор аренды не соответствует идентификатору аренды для ресурса с указанной операцией аренды".
  • 409 Conflict, LeaseIsAlreadyBroken, "Аренда уже нарушена и не может быть нарушена снова".
  • 409 Conflict, LeaseIsBreakingAndCannotBeAcquired, "Идентификатор аренды совпадает, но аренда в настоящее время находится в состоянии нарушения и не может быть получена, пока она не будет нарушена".
  • 409 Conflict, LeaseIsBreakingAndCannotBeChanged, "Идентификатор аренды совпадает, но аренда в настоящее время находится в состоянии нарушения и не может быть изменена".
  • 409 Conflict, LeaseIsBrokenAndCannotBeRenewed, "Идентификатор аренды совпадает, но аренда была явно нарушена и не может быть продлена".
  • 409 Conflict, LeaseNameMismatch, "Указанное имя аренды не соответствует существующему имени аренды".
  • 409 Conflict, LeaseNotPresentWithLeaseOperation, "Идентификатор аренды отсутствует в указанной операции аренды".
  • 409 Conflict, PathAlreadyExists, "Указанный путь уже существует".
  • 409 Conflict, PathConflict, "Указанный путь или элемент пути существует, и его тип ресурса недопустим для этой операции".
  • 409 Conflict, SourcePathIsBeingDeleted, "Указанный исходный путь помечен для удаления".
  • 409 Conflict, ResourceTypeMismatch, "Тип ресурса, указанный в запросе, не соответствует типу ресурса".
  • 412. Сбой предусловия, ConditionNotMet, "Условие, указанное с помощью условных заголовков HTTP, не выполнено".
  • 412. Сбой предварительного условия, LeaseIdMismatch, "Указанный идентификатор аренды не соответствует идентификатору аренды для ресурса".
  • 412 Сбой предварительного условия, LeaseIdMissing: "В настоящее время имеется аренда ресурса и идентификатор аренды не указан в запросе".
  • 412 Сбой предварительного условия, LeaseNotPresent, "В настоящее время нет аренды ресурса".
  • 412 Сбой предварительного условия, LeaseLost, "Указан идентификатор аренды, но срок аренды ресурса истек".
  • 412 Сбой предусловия, SourceConditionNotMet, "Исходное условие, указанное с помощью условных заголовков HTTP, не выполнено".
  • 413 Request Entity Too Large, RequestBodyTooLarge, "Текст запроса слишком велик и превышает максимально допустимое ограничение".
  • 416 Запрошенный диапазон не удовлетворяет, InvalidRange, "Указанный диапазон является недопустимым для текущего размера ресурса".
  • 500 Внутренняя ошибка сервера, Внутренняя ошибка, "Сервер обнаружил внутреннюю ошибку. Пожалуйста, повторите запрос".
  • 500 Внутренняя ошибка сервера OperationTimedOut: "Не удалось завершить операцию в течение разрешенного времени".
  • 503 Служба недоступна, ServerBusy, "Исходящий трафик превышает лимит учетной записи".
  • 503 Служба недоступна, ServerBusy, "Входящий трафик превышает лимит учетной записи".
  • 503 Служба недоступна, ServerBusy, "Количество операций в секунду превышает лимит учетной записи".
  • 503 Служба недоступна, ServerBusy, "Сервер в настоящее время не может получать запросы. Please retry your request." (Программе установки кластера не удалось установить компоненты в одном или нескольких узлах. Повторите запрос.)

Headers

  • x-ms-request-id: string
  • x-ms-version: string

Определения

Имя Описание
DataLakeStorageError
Error

Объект ответа об ошибке службы.

PathRenameMode

Необязательный элемент. Допустимо, только если включено пространство имен. Этот параметр определяет поведение операции переименования. Значение должно быть "legacy" или "posix", а значением по умолчанию будет "posix".

PathResourceType

Требуется только для создания файла и создания каталога. Значение должно быть "file" или "directory".

DataLakeStorageError

Имя Тип Описание
error

Error

Объект ответа об ошибке службы.

Error

Объект ответа об ошибке службы.

Имя Тип Описание
code

string

Код ошибки службы.

message

string

Сообщение об ошибке службы.

PathRenameMode

Необязательный элемент. Допустимо, только если включено пространство имен. Этот параметр определяет поведение операции переименования. Значение должно быть "legacy" или "posix", а значением по умолчанию будет "posix".

Имя Тип Описание
legacy

string

posix

string

PathResourceType

Требуется только для создания файла и создания каталога. Значение должно быть "file" или "directory".

Имя Тип Описание
directory

string

file

string