Share via


Path - Lease

租用路徑
建立和管理租用,以限制路徑的寫入和刪除存取權。 此作業支援條件式 HTTP 要求。 如需詳細資訊,請參閱指定 Blob 服務作業的條件式標頭

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

URI 參數

名稱 位於 必要 類型 Description
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

選擇性的作業逾時值,以秒為單位。 此期間會從服務收到要求時開始。 如果逾時值在作業完成之前經過,作業就會失敗。

要求標頭

名稱 必要 類型 Description
x-ms-lease-action True

PathLeaseAction

有五個租用動作:“acquire”、“break”、“change”、“renew” 和 “release”。 使用 「acquire」 並指定 「x-ms-proposed-lease-id」 和 「x-ms-lease-duration」 以取得新的租用。 使用「中斷」來中斷現有的租用。 當租用中斷時,允許租用中斷期間經過,在這段期間,除了中斷和釋放以外,無法在檔案上執行租用作業。 當租用成功中斷時,回應會指出可取得新租用之前的間隔秒數。 使用 「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 通訊協定版本。 使用共用密鑰授權時,這是必要的。

回應

名稱 類型 Description
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

已建立新的租用。 “acquire” 動作成功。

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:「Content-Length 要求標頭必須是零」。
  • 400 不正確的要求,InvalidAuthenticationInfo:「驗證資訊的格式不正確。 檢查 Authorization 標頭的值。」
  • 400 不正確的要求,InvalidFlushPosition:「上傳的數據不是連續的,或是位置查詢參數值不等於附加上傳的數據之後檔案的長度。」
  • 400 不正確的要求,InvalidHeaderValue:「其中一個 HTTP 標頭的值不是正確的格式。」
  • 400 不正確的要求,Invalid 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 找不到,FilesystemNotFound,「指定的文件系統不存在」。
  • 404 找不到,PathNotFound,「指定的路徑不存在」。
  • 404 找不到,RenameDestinationParentPathNotFound,「目的地路徑的父目錄不存在」。
  • 404 找不到,ResourceNotFound,「指定的資源不存在」。
  • 404 找不到 SourcePathNotFound:「重新命名作業的來源路徑不存在」。
  • 405 方法不允許,不支援 HttpVerb:「資源不支援指定的 HTTP 動詞命令」。
  • 409 Conflict, DestinationPathIsBeingDeleted:「指定的目的地路徑標示為要刪除」。
  • 409 Conflict, DirectoryNotEmpty:「遞歸查詢參數值必須為 true,才能刪除非空白目錄。」
  • 409 Conflict, FilesystemAlreadyExists,「指定的文件系統已經存在」。
  • 409 Conflict, FilesystemBeingDeleted,「正在刪除指定的文件系統」。
  • 409 Conflict、InvalidDestinationPath、「指定的路徑或路徑的專案存在,而且其資源類型對此作業無效」。* 409 Conflict, InvalidFlushOperation,「資源是由 Blob 服務 API 所建立或修改,而且無法由 Data Lake Storage 服務 API 寫入。」
  • 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 要求實體太大,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

定義

名稱 Description
DataLakeStorageError
Error

服務錯誤回應物件。

PathLeaseAction

有五個租用動作:“acquire”、“break”、“change”、“renew” 和 “release”。 使用 「acquire」 並指定 「x-ms-proposed-lease-id」 和 「x-ms-lease-duration」 以取得新的租用。 使用「中斷」來中斷現有的租用。 當租用中斷時,允許租用中斷期間經過,在這段期間,除了中斷和釋放以外,無法在檔案上執行租用作業。 當租用成功中斷時,回應會指出可取得新租用之前的間隔秒數。 使用 「change」 並在 「x-ms-lease-id」 中指定目前的租用標識碼,並在 「x-ms-proposed-lease-id」 中指定新的租用標識碼,以變更使用中租用的租用標識符。 使用 「renew」 並指定 「x-ms-lease-id」 來更新現有的租用。 使用 「release」 並指定 「x-ms-lease-id」 來釋放租用。

DataLakeStorageError

名稱 類型 Description
error

Error

服務錯誤回應物件。

Error

服務錯誤回應物件。

名稱 類型 Description
code

string

服務錯誤碼。

message

string

服務錯誤訊息。

PathLeaseAction

有五個租用動作:“acquire”、“break”、“change”、“renew” 和 “release”。 使用 「acquire」 並指定 「x-ms-proposed-lease-id」 和 「x-ms-lease-duration」 以取得新的租用。 使用「中斷」來中斷現有的租用。 當租用中斷時,允許租用中斷期間經過,在這段期間,除了中斷和釋放以外,無法在檔案上執行租用作業。 當租用成功中斷時,回應會指出可取得新租用之前的間隔秒數。 使用 「change」 並在 「x-ms-lease-id」 中指定目前的租用標識碼,並在 「x-ms-proposed-lease-id」 中指定新的租用標識碼,以變更使用中租用的租用標識符。 使用 「renew」 並指定 「x-ms-lease-id」 來更新現有的租用。 使用 「release」 並指定 「x-ms-lease-id」 來釋放租用。

名稱 類型 Description
acquire

string

break

string

change

string

release

string

renew

string