你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

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

Azure Data Lake Storage终结点的 DNS 后缀。

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”并指定“x-ms-proposed-lease-id”和“x-ms-lease-duration”以获取新租约。 使用“中断”中断现有租约。 中断租约时,允许租用中断期过,在此期间,除中断和释放外,不能对文件执行任何租约操作。 在租约成功中断后,响应指示可以获取新租约之前等待的时间间隔(秒)。 使用“更改”并在“x-ms-lease-id”中指定当前租约 ID,在“x-ms-proposed-lease-id”中指定新的租约 ID,以更改活动租约的租约 ID。 使用“续订”并指定“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”时是必需的。 对于续订和发布操作,这必须与当前租约 ID 匹配。

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”时是必需的。 如果操作成功,将使用此租约 ID 获取租约。

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 错误请求,ContentLengthMustBeZero,“内容长度请求标头必须为零。
  • 400 错误请求,InvalidAuthenticationInfo,“身份验证信息未以正确的格式提供。 检查 Authorization 标头的值。”
  • 400 错误请求,InvalidFlushPosition,“上传的数据不是连续的,或者位置查询参数值不等于追加上传的数据后的文件长度。”
  • 400 错误请求,InvalidHeaderValue,“其中一个 HTTP 标头的值的格式不正确。”
  • 400 错误请求,无效HttpVerb,“指定的 HTTP 谓词无效 - 服务器无法识别它。”
  • 400 错误请求,InvalidInput,“其中一个请求输入无效。”
  • 400 错误请求,InvalidPropertyName,“属性名称不能为空。”
  • 400 错误请求,InvalidPropertyName,“属性名称包含无效字符。”
  • 400 错误请求,InvalidQueryParameterValue,“请求 URI 中指定的某个查询参数的值无效。
  • 400 错误请求,InvalidResourceName,“指定的资源名称包含无效字符。”
  • 400 错误请求,InvalidSourceUri,“源 URI 无效。
  • 400 错误请求,InvalidUri,“请求 URI 无效。
  • 400 错误请求,MissingRequiredHeader,“未指定此请求必需的 HTTP 标头。”
  • 400 错误请求,MissingRequiredQueryParameter,“未指定此请求必需的查询参数。”
  • 400 错误请求,MultipleConditionHeadersNotSupported,“不支持多个条件标头。
  • 400 错误请求,OutOfRangeInput,“其中一个请求输入超出范围。
  • 400 错误请求,OutOfRangeQueryParameterValue,“请求 URI 中指定的查询参数之一超出了允许的范围。
  • 400 错误请求,UnsupportedHeader,“不支持请求中指定的标头之一。”
  • 400 错误请求,UnsupportedQueryParameter,“不支持请求 URI 中指定的查询参数之一。
  • 400 错误请求,UnsupportedRestVersion,“指定的 Rest 版本不受支持。
  • 403 禁止,AccountIsDisabled,“指定的帐户已禁用。
  • 403 禁止,AuthorizationFailure,“此请求无权执行此操作。”
  • 403 禁止,InsufficientAccountPermissions,“正在访问的帐户没有足够的权限来执行此操作。”
  • 404 Not Found, FilesystemNotFound, “指定的文件系统不存在。
  • 404 未找到,PathNotFound,“指定的路径不存在。
  • 404 Not Found, RenameDestinationParentPathNotFound, “目标路径的父目录不存在。
  • 404 找不到,ResourceNotFound,“指定的资源不存在。
  • 404 Not Found, SourcePathNotFound, “重命名操作的源路径不存在。
  • 405 方法不允许,不支持HttpVerb,“资源不支持指定的 HTTP 谓词。
  • 409 Conflict,DestinationPathIsBeingDeleted,“指定的目标路径标记为要删除”。
  • 409 Conflict, DirectoryNotEmpty,“递归查询参数值必须为 true 才能删除非空目录。”
  • 409 冲突,FilesystemAlreadyExists,“指定的文件系统已存在。”
  • 409 Conflict, FilesystemBeingDeleted, “指定的文件系统正在删除。
  • 409 Conflict, InvalidDestinationPath,“指定的路径或路径的元素存在,并且其资源类型对于此操作无效。”* 409 冲突,InvalidFlushOperation,“资源是由 Blob 服务 API 创建或修改的,不能由Data Lake Storage服务 API 写入。
  • 409 冲突,InvalidRenameSourcePath,“源目录不能与目标目录相同,目标不能是源目录的子目录。”
  • 409 Conflict,InvalidSourceOrDestinationResourceType,“源和目标资源类型必须相同。
  • 409 冲突,LeaseAlreadyPresent,“已经有一个租约存在。
  • 409 Conflict, LeaseIdMismatchWithLeaseOperation,“指定的租约 ID 与具有指定租约操作的资源的租约 ID 不匹配。
  • 409 Conflict, LeaseIsAlreadyBroken, “租约已被打破, 不能再次打破。
  • 409 Conflict, LeaseIsBreakingAndCannotBeAcquired,“租约 ID 匹配,但租约当前处于中断状态,在中断之前无法获取。
  • 409 Conflict, LeaseIsBreakingAndCannotBeChanged, “租约 ID 匹配,但租约当前处于中断状态,无法更改。
  • 409 Conflict, LeaseIsBrokenAndCannotBeRenewed,“租约 ID 匹配,但租约已显式中断,无法续订。
  • 409 Conflict,LeaseNameMismatch,“指定的租约名称与现有租约名称不匹配。
  • 409 Conflict, LeaseNotPresentWithLeaseOperation, “租约 ID 不存在于指定的租用操作中。”
  • 409 Conflict,PathAlreadyExists,“指定的路径已存在。
  • 409 Conflict,PathConflict,“指定的路径或路径的元素存在,其资源类型对于此操作无效。”
  • 409 Conflict,SourcePathIsBeingDeleted,“指定的源路径标记为要删除”。
  • 409 Conflict,ResourceTypeMismatch,“请求中指定的资源类型与资源类型不匹配。”
  • 412 先决条件失败,ConditionNotMet,“未满足使用 HTTP 条件标头 () 指定的条件。
  • 412 先决条件失败,LeaseIdMismatch,“指定的租用 ID 与资源的租约 ID 不匹配。
  • 412 先决条件失败,LeaseIdMissing,“当前资源上有租约,请求中未指定租约 ID。
  • 412 先决条件失败,LeaseNotPresent,“资源当前没有租约。”
  • 412 先决条件失败,LeaseLost,“已指定租约 ID,但资源的租约已过期。
  • 412 先决条件失败,SourceConditionNotMet,“未满足使用 HTTP 条件标头 () 指定的源条件。
  • 413 请求实体太大,RequestBodyTooLarge,“请求正文太大,超出允许的最大限制。
  • 416 请求的范围不满足,InvalidRange,“指定的范围对于资源的当前大小无效。
  • 500 内部服务器错误,InternalError,“服务器遇到内部错误。 请重试请求。”
  • 500 内部服务器错误,OperationTimedOut,“操作无法在允许的时间内完成。
  • 503 服务不可用,ServerBusy,“出口超出帐户限制。
  • 503 服务不可用,ServerBusy,“入口超出帐户限制。
  • 503 服务不可用,ServerBusy,“每秒操作数超过帐户限制。
  • 503 服务不可用,ServerBusy,“服务器当前无法接收请求。 请重试请求。”

Headers

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

定义

名称 说明
DataLakeStorageError
Error

服务错误响应对象。

PathLeaseAction

有五个租用操作:“获取”、“中断”、“更改”、“续订”和“释放”。 使用“acquire”并指定“x-ms-proposed-lease-id”和“x-ms-lease-duration”以获取新租约。 使用“中断”中断现有租约。 中断租约时,允许租用中断期过,在此期间,除中断和释放外,不能对文件执行任何租约操作。 在租约成功中断后,响应指示可以获取新租约之前等待的时间间隔(秒)。 使用“更改”并在“x-ms-lease-id”中指定当前租约 ID,在“x-ms-proposed-lease-id”中指定新的租约 ID,以更改活动租约的租约 ID。 使用“续订”并指定“x-ms-lease-id”续订现有租约。 使用“release”并指定“x-ms-lease-id”来释放租约。

DataLakeStorageError

名称 类型 说明
error

Error

服务错误响应对象。

Error

服务错误响应对象。

名称 类型 说明
code

string

服务错误代码。

message

string

服务错误消息。

PathLeaseAction

有五个租用操作:“获取”、“中断”、“更改”、“续订”和“释放”。 使用“acquire”并指定“x-ms-proposed-lease-id”和“x-ms-lease-duration”以获取新租约。 使用“中断”中断现有租约。 中断租约时,允许租用中断期过,在此期间,除中断和释放外,不能对文件执行任何租约操作。 在租约成功中断后,响应指示可以获取新租约之前等待的时间间隔(秒)。 使用“更改”并在“x-ms-lease-id”中指定当前租约 ID,在“x-ms-proposed-lease-id”中指定新的租约 ID,以更改活动租约的租约 ID。 使用“续订”并指定“x-ms-lease-id”续订现有租约。 使用“release”并指定“x-ms-lease-id”来释放租约。

名称 类型 说明
acquire

string

break

string

change

string

release

string

renew

string