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


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

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

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

path
path True

string

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

timeout
query

integer

int32

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

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

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

PathLeaseAction

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

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

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

x-ms-proposed-lease-id

string

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

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

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

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, используемого для обработки запроса. Это необходимо при использовании авторизации с общим ключом.

Ответы

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

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

Headers

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

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

Headers

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

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

Headers

  • 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, "Заголовок запроса 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

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

PathLeaseAction

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

DataLakeStorageError

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

Error

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

Error

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

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

string

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

message

string

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

PathLeaseAction

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

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

string

break

string

change

string

release

string

renew

string