Path - Delete
刪除檔案 |刪除目錄
刪除檔案或目錄。 此作業支援條件式 HTTP 要求。 如需詳細資訊,請參閱指定 Blob 服務作業的條件式標頭 。
DELETE https://{accountName}.{dnsSuffix}/{filesystem}/{path}
含選擇性參數:
DELETE https://{accountName}.{dnsSuffix}/{filesystem}/{path}?recursive={recursive}&continuation={continuation}&paginated={paginated}&timeout={timeout}
URI 參數
名稱
位於
必要
類型
Description
accountName
path
True
string
Azure 記憶體帳戶名稱。
dnsSuffix
path
True
string
Azure Data Lake Storage 端點的 DNS 後綴。
filesystem
path
True
string
文件系統標識碼。
Regex 模式: ^[$a-z0-9](?!.*--)[-a-z0-9]{1,61}[a-z0-9]$
path
path
True
string
檔案或目錄路徑。
continuation
query
string
選擇性。 刪除目錄時,隨著每個調用一起刪除的路徑數目會受到限制。 如果要刪除的路徑數目超過此限制,則會在此響應標頭中傳回接續令牌。 在回應中傳回接續令牌時,必須在後續的刪除作業調用中指定它,才能繼續刪除目錄。
paginated
query
boolean
只有在為帳戶啟用階層命名空間,且資源是目錄,且查詢參數設定為 「true」 時,選擇性且有效。 對於遞歸目錄刪除,當使用的授權機制是 ACL,而呼叫端是非進階使用者時,可能會隨著每個調用一起刪除的路徑數目受到限制,因為預設逾時為 30 秒。 當 「paginated」 查詢參數設定為 「true」 時,如果達到上述限制,回應標頭可能會包含 「x-ms-continuation」。。 在 subsequnt 要求中傳送 「x-ms-continuation」 時,“paginated” 和 “recursive” 查詢參數應該設定為 “true”。 當回應未包含任何 「x-ms-continuation」 時,遞歸目錄刪除會成功。 實際的目錄刪除只會在最後一次叫用中發生,先前的目錄會在要遞歸刪除之目錄下的檔案和目錄伺服器上進行 ACL 檢查。
recursive
query
boolean
只有在資源是目錄時,才需要且有效。 如果為 「true」,則會刪除目錄下的所有路徑。 如果 「false」 且目錄不是空的,就會發生錯誤。
timeout
query
integer
int32
選擇性的作業逾時值,以秒為單位。 此期間會從服務收到要求時開始。 如果逾時值在作業完成之前經過,作業就會失敗。
名稱
必要
類型
Description
x-ms-lease-id
string
如果有作用中的租用,則必須指定租用標識符。
Regex 模式: ^[{(]?[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 模式: ^[{(]?[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
檔案已刪除。
標題
Date: string
x-ms-request-id: string
x-ms-version: string
x-ms-continuation: string
202 Accepted
只有在帳戶啟用階層命名空間時,才會接受刪除要求。
標題
Date: string
x-ms-request-id: string
x-ms-version: string
x-ms-continuation: 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:「伺服器目前無法接收要求。 請重試您的要求。」
標題
x-ms-request-id: string
x-ms-version: string
定義
DataLakeStorageError
名稱
類型
Description
error
Error
服務錯誤回應物件。
Error
服務錯誤回應物件。
名稱
類型
Description
code
string
服務錯誤碼。
message
string
服務錯誤訊息。