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 매개 변수

Name In(다음 안에) 필수 형식 Description
accountName
path True

string

Azure Storage 계정 이름입니다.

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

파일 또는 디렉터리 경로입니다.

continuation
query

string

선택 사항입니다. 디렉터리를 삭제할 때 각 호출과 함께 삭제되는 경로 수가 제한됩니다. 삭제할 경로 수가 이 제한을 초과하면 이 응답 헤더에 연속 토큰이 반환됩니다. 응답에서 연속 토큰이 반환되면 디렉터리를 계속 삭제하려면 삭제 작업의 후속 호출에서 지정해야 합니다.

paginated
query

boolean

선택 사항이며 계층 구조 네임스페이스가 계정에 대해 사용하도록 설정되어 있고 리소스가 "재귀적" 쿼리 매개 변수가 "true"로 설정된 디렉터리인 경우에만 유효합니다. 재귀 디렉터리 삭제의 경우 사용되는 권한 부여 메커니즘이 ACL이고 호출자가 슈퍼가 아닌 사용자인 경우 기본 시간 제한이 30초이므로 각 호출과 함께 삭제할 수 있는 경로 수가 제한됩니다. "페이지를 매긴" 쿼리 매개 변수를 "true"로 설정하면 위의 제한에 도달하면 응답 헤더에 "x-ms-continuation"이 포함될 수 있습니다. 하위 요청에서 "x-ms-continuation"을 보내는 동안 "페이지를 매긴" 및 "재귀적" 쿼리 매개 변수를 "true"로 설정해야 합니다. 응답에 "x-ms-continuation"이 포함되지 않으면 재귀 디렉터리 삭제가 성공합니다. 실제 디렉터리 삭제는 마지막 호출에서만 발생하며, 이전 디렉터리는 재귀적으로 삭제할 디렉터리 아래의 파일 및 디렉터리 서버에서 ACL 검사를 포함합니다.

recursive
query

boolean

리소스가 디렉터리인 경우에만 필수이며 유효합니다. "true"이면 디렉터리 아래의 모든 경로가 삭제됩니다. "false"이고 디렉터리가 비어 있지 않으면 오류가 발생합니다.

timeout
query

integer

int32

선택적 작업 시간 제한 값(초)입니다. 이 기간은 서비스에서 요청을 수신할 때 시작됩니다. 작업이 완료되기 전에 시간 제한 값이 경과하면 작업이 실패합니다.

요청 헤더

Name 필수 형식 Description
x-ms-lease-id

string

활성 임대가 있는 경우 임대 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 프로토콜의 버전을 지정합니다. 공유 키 권한 부여를 사용할 때 필요합니다.

응답

Name 형식 Description
200 OK

파일이 삭제되었습니다.

Headers

  • Date: string
  • x-ms-request-id: string
  • x-ms-version: string
  • x-ms-continuation: string
202 Accepted

삭제 요청은 계정에 대해 계층 구조 네임스페이스를 사용하도록 설정한 경우에만 적용됩니다.

Headers

  • Date: string
  • x-ms-request-id: string
  • x-ms-version: string
  • x-ms-continuation: string
Other Status Codes

DataLakeStorageError

오류가 발생했습니다. 가능한 HTTP 상태, 코드 및 메시지 문자열은 다음과 같습니다.

  • 400 잘못된 요청, ContentLengthMustBeZero, "Content-Length 요청 헤더는 0이어야 합니다."
  • 400 잘못된 요청, InvalidAuthenticationInfo, "인증 정보가 올바른 형식으로 제공되지 않습니다. 권한 부여 헤더의 값을 확인합니다."
  • 400 잘못된 요청, InvalidFlushPosition, "업로드된 데이터가 연속되지 않거나 업로드된 데이터를 추가한 후 위치 쿼리 매개 변수 값이 파일 길이와 같지 않습니다."
  • 400 잘못된 요청, InvalidHeaderValue, "HTTP 헤더 중 하나의 값이 올바른 형식이 아닙니다."
  • 400 잘못된 요청, InvalidHttpVerb, "지정된 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 잘못된 요청, 지원되지 않는Header, "요청에 지정된 헤더 중 하나가 지원되지 않습니다."
  • 400 잘못된 요청, 지원되지 않는QueryParameter, "요청 URI에 지정된 쿼리 매개 변수 중 하나가 지원되지 않습니다."
  • 400 잘못된 요청, UnsupportedRestVersion, "지정된 Rest 버전이 지원되지 않습니다."
  • 403 사용할 수 없음, AccountIsDisabled, "지정된 계정이 비활성화되었습니다."
  • 403 사용할 수 없음, AuthorizationFailure, "이 요청은 이 작업을 수행할 권한이 없습니다."
  • 403 사용할 수 없음, InsufficientAccountPermissions, "액세스 중인 계정에 이 작업을 실행할 수 있는 충분한 권한이 없습니다."
  • 404 찾을 수 없음, FilesystemNotFound, "지정된 파일 시스템이 없습니다."
  • 404 찾을 수 없음, PathNotFound, "지정된 경로가 없습니다."
  • 404 찾을 수 없음, RenameDestinationParentPathNotFound, "대상 경로의 부모 디렉터리가 없습니다."
  • 404 찾을 수 없음, ResourceNotFound, "지정된 리소스가 없습니다."
  • 404 찾을 수 없음, SourcePathNotFound, "이름 바꾸기 작업의 원본 경로가 없습니다."
  • 405 메서드 허용 안 함, 지원되지 않는HttpVerb, "리소스는 지정된 HTTP 동사를 지원하지 않습니다."
  • 409 충돌, DestinationPathIsBeingDeleted, "지정된 대상 경로가 삭제된 것으로 표시됩니다."
  • 409 Conflict, DirectoryNotEmpty, "비어 있지 않은 디렉터리를 삭제하려면 재귀 쿼리 매개 변수 값이 true여야 합니다."
  • 409 충돌, FilesystemAlreadyExists, "지정된 파일 시스템이 이미 있습니다."
  • 409 충돌, FilesystemBeingDeleted, "지정된 파일 시스템이 삭제되고 있습니다."
  • 409 Conflict, InvalidDestinationPath, "지정된 경로 또는 경로의 요소가 존재하며 해당 리소스 종류가 이 작업에 유효하지 않습니다." * 409 Conflict, InvalidFlushOperation, "리소스가 Blob Service API에 의해 생성되거나 수정되었으며 Data Lake Storage Service API에서 쓸 수 없습니다."
  • 409 Conflict, InvalidRenameSourcePath, "원본 디렉터리가 대상 디렉터리와 동일할 수 없으며 대상이 원본 디렉터리의 하위 디렉터리일 수도 없습니다."
  • 409 Conflict, InvalidSourceOrDestinationResourceType, "원본 및 대상 리소스 유형은 동일해야 합니다."
  • 409 충돌, LeaseAlreadyPresent, "이미 임대가 있습니다."
  • 409 Conflict, LeaseIdMismatchWithLeaseOperation, "지정된 임대 ID가 지정된 임대 작업과 리소스의 임대 ID와 일치하지 않습니다."
  • 409 충돌, LeaseIsAlreadyBroken, "임대가 이미 끊어졌으며 다시 끊어질 수 없습니다."
  • 409 Conflict, LeaseIsBreakingAndCannotBeAcquired, "임대 ID가 일치하지만 임대는 현재 호환성이 손상되어 손상될 때까지 인수할 수 없습니다."
  • 409 충돌, LeaseIsBreakingAndCannotBeChanged, "임대 ID가 일치하지만 임대는 현재 호환성이 손상되는 상태이며 변경할 수 없습니다."
  • 409 Conflict, LeaseIsBrokenAndCannotBeRenewed, "임대 ID가 일치했지만 임대가 명시적으로 끊어졌으며 갱신할 수 없습니다."
  • 409 Conflict, LeaseNameMismatch, "지정된 임대 이름이 기존 임대 이름과 일치하지 않습니다."
  • 409 충돌, LeaseNotPresentWithLeaseOperation, "임대 ID가 지정된 임대 작업과 함께 존재하지 않습니다."
  • 409 충돌, PathAlreadyExists, "지정된 경로가 이미 있습니다."
  • 409 Conflict, PathConflict, "지정된 경로 또는 경로의 요소가 존재하며 해당 리소스 종류가 이 작업에 유효하지 않습니다."
  • 409 충돌, 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

정의

Name Description
DataLakeStorageError
Error

서비스 오류 응답 개체입니다.

DataLakeStorageError

Name 형식 Description
error

Error

서비스 오류 응답 개체입니다.

Error

서비스 오류 응답 개체입니다.

Name 형식 Description
code

string

서비스 오류 코드입니다.

message

string

서비스 오류 메시지입니다.