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


Path - Lease

Путь аренды
Создайте и управляйте арендой, чтобы ограничить доступ к пути записи и удаления. Эта операция поддерживает условные HTTP-запросы. Дополнительные сведения см. в разделе Указание условных заголовков для операций службы BLOB-объектов.

POST https://{accountName}.{dnsSuffix}/{filesystem}/{path}
POST https://{accountName}.{dnsSuffix}/{filesystem}/{path}?timeout={timeout}

Параметры URI

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

string

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

dnsSuffix
path True

string

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

filesystem
path True

string

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

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

path
path True

string

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

timeout
query

integer (int32)

minimum: 1

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

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

Имя Обязательно Тип Описание
x-ms-lease-action True

PathLeaseAction

Существует пять действий аренды: "приобретение", "перерыв", "изменение", "продление" и "выпуск". Используйте "приобретение" и укажите "x-ms-proposed-lease-id" и "x-ms-lease-duration" для получения новой аренды. Используйте "перерыв" для разрыва существующей аренды. При сломе аренды срок аренды допускается истекать, в течение которого в течение этого времени в файл не выполняется никаких операций аренды, кроме перерыва и освобождения. При успешном разрыве аренды ответ указывает интервал в секундах до получения новой аренды. Используйте "change" и укажите текущий идентификатор аренды в x-ms-lease-id и новый идентификатор аренды в x-ms-предлагаемой аренде идентификатор для изменения идентификатора аренды активной аренды. Используйте "продление" и укажите "x-ms-lease-id" для продления существующей аренды. Используйте "release" и укажите "x-ms-lease-id" для освобождения аренды.

x-ms-lease-duration

integer (int32)

Длительность аренды требуется для получения аренды и указывает длительность аренды в секундах. Длительность аренды должна составлять от 15 до 60 секунд или -1 для бесконечной аренды.

x-ms-lease-break-period

integer (int32)

Срок аренды является необязательным для разрыва аренды и указывает период перерыва аренды в секундах. Длительность перерыва аренды должна составлять от 0 до 60 секунд.

x-ms-lease-id

string

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

Требуется, если "x-ms-lease-action" имеет значение "продление", "изменение" или "выпуск". Для действий с продлением и выпуском это должно соответствовать текущему идентификатору аренды.

x-ms-proposed-lease-id

string

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

Требуется, если "x-ms-lease-action" имеет значение "приобретение" или "изменение". Аренда будет приобретена с помощью этого идентификатора аренды, если операция выполнена успешно.

If-Match

string

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

If-None-Match

string

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

If-Modified-Since

string

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

If-Unmodified-Since

string

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

x-ms-client-request-id

string

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

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

x-ms-date

string

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

x-ms-version

string

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

Ответы

Имя Тип Описание
200 OK

Действие "продление", "изменение" или "выпуск" выполнено успешно.

Заголовки

  • Date: string
  • ETag: string
  • Last-Modified: string
  • x-ms-request-id: string
  • x-ms-version: string
  • x-ms-lease-id: string
201 Created

Была создана новая аренда. Действие "приобретение" выполнено успешно.

Заголовки

  • Date: string
  • ETag: string
  • Last-Modified: string
  • x-ms-request-id: string
  • x-ms-version: string
  • x-ms-lease-id: string
202 Accepted

Действие аренды "перерыва" было успешным.

Заголовки

  • ETag: string
  • Last-Modified: string
  • x-ms-request-id: string
  • x-ms-version: string
  • x-ms-lease-time: string
Other Status Codes

DataLakeStorageError

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

  • 400 Bad Request, ContentLengthMustBeZero, "Заголовок запроса на длину содержимого должен быть равен нулю".
  • 400 Bad Request, InvalidAuthenticationInfo, "Сведения о проверке подлинности не указаны в правильном формате. Проверьте значение заголовка авторизации".
  • 400 Bad Request, InvalidFlushPosition, "Отправленные данные не являются смежными, или значение параметра запроса позиции не равно длине файла после добавления отправленных данных".
  • 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 Недопустимый запрос, 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 Запрещено, НедостаточноAccountPermissions: "Доступ к учетной записи не имеет достаточных разрешений для выполнения этой операции".
  • 404 Not Found, FilesystemNotFound, "Указанная файловая система не существует".
  • 404 Not Found, PathNotFound, "Указанный путь не существует".
  • 404 Not Found, RenameDestinationParentPathNotFound, "Родительский каталог пути назначения не существует".
  • 404 Not Found, ResourceNotFound, "Указанный ресурс не существует".
  • 404 Not Found, SourcePathNotFound: "Исходный путь для операции переименования не существует".
  • Метод 405 Not Allowed, UnsupportedHttpVerb, "Ресурс не поддерживает указанную http-команду".
  • 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 Конфликт, АрендаAlreadyPresent, "Уже есть арендная плата".
  • 409 Conflict, LeaseIdMismatchWithLeaseOperation, "Указанный идентификатор аренды не соответствует идентификатору аренды ресурса с указанной операцией аренды".
  • 409 Конфликт, АрендыAlreadyBroken, "Аренда уже нарушена и не может быть нарушена снова".
  • 409 Conflict, LeaseIsBreakingAndCannotBeAcquired, "Идентификатор аренды сопоставлен, но аренда в настоящее время находится в критическом состоянии и не может быть приобретена, пока она не будет нарушена".
  • 409 Conflict, LeaseIsBreakingAndCannotBeChanged, "Идентификатор аренды сопоставлен, но аренда в настоящее время находится в критическом состоянии и не может быть изменена".
  • Конфликт 409, LeaseIsBrokenAndCannotBeRenewed, "Идентификатор аренды совпадает, но аренда была явно нарушена и не может быть продлена".
  • 409 Conflict, LeaseNameMismatch, "Указанное имя аренды не совпадает с существующим именем аренды".
  • Конфликт 409, LeaseNotPresentWithLeaseOperation, "Идентификатор аренды не присутствует с указанной операцией аренды".
  • Конфликт 409, 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 Запрос слишком большой, RequestBodyTooLarge: "Текст запроса слишком велик и превышает максимально допустимое ограничение".
  • 416 Запрошенный диапазон недопустим, InvalidRange: "Указанный диапазон недопустим для текущего размера ресурса".
  • 500 Внутренняя ошибка сервера, InternalError, "Сервер столкнулся с внутренней ошибкой. Повторите запрос".
  • 500 Внутренняя ошибка сервера OperationTimedOut: "Операция не может быть завершена в течение допустимого времени".
  • 503 Служба недоступна, ServerBusy, "Исходящий трафик превышает предел учетной записи".
  • 503 Служба недоступна, ServerBusy, "Входящий трафик превышает ограничение учетной записи".
  • 503 Служба недоступна, ServerBusy, "Операции в секунду превышает ограничение учетной записи".
  • Служба 503 недоступна, ServerBusy, "Сервер в настоящее время не может получать запросы. Повторите запрос".

Заголовки

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

Определения

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

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

PathLeaseAction

Существует пять действий аренды: "приобретение", "перерыв", "изменение", "продление" и "выпуск". Используйте "приобретение" и укажите "x-ms-proposed-lease-id" и "x-ms-lease-duration" для получения новой аренды. Используйте "перерыв" для разрыва существующей аренды. При сломе аренды срок аренды допускается истекать, в течение которого в течение этого времени в файл не выполняется никаких операций аренды, кроме перерыва и освобождения. При успешном разрыве аренды ответ указывает интервал в секундах до получения новой аренды. Используйте "change" и укажите текущий идентификатор аренды в x-ms-lease-id и новый идентификатор аренды в x-ms-предлагаемой аренде идентификатор для изменения идентификатора аренды активной аренды. Используйте "продление" и укажите "x-ms-lease-id" для продления существующей аренды. Используйте "release" и укажите "x-ms-lease-id" для освобождения аренды.

DataLakeStorageError

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

Error

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

Error

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

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

string

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

message

string

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

PathLeaseAction

Существует пять действий аренды: "приобретение", "перерыв", "изменение", "продление" и "выпуск". Используйте "приобретение" и укажите "x-ms-proposed-lease-id" и "x-ms-lease-duration" для получения новой аренды. Используйте "перерыв" для разрыва существующей аренды. При сломе аренды срок аренды допускается истекать, в течение которого в течение этого времени в файл не выполняется никаких операций аренды, кроме перерыва и освобождения. При успешном разрыве аренды ответ указывает интервал в секундах до получения новой аренды. Используйте "change" и укажите текущий идентификатор аренды в x-ms-lease-id и новый идентификатор аренды в x-ms-предлагаемой аренде идентификатор для изменения идентификатора аренды активной аренды. Используйте "продление" и укажите "x-ms-lease-id" для продления существующей аренды. Используйте "release" и укажите "x-ms-lease-id" для освобождения аренды.

Значение Описание
acquire
break
change
release
renew