Share via


Path - Lease

임대 경로
경로에 대한 쓰기 및 삭제 액세스를 제한하는 임대를 만들고 관리합니다. 이 작업은 조건부 HTTP 요청을 지원합니다. 자세한 내용은 Blob 서비스 작업의 조건부 헤더 지정을 참조하세요.

POST https://{accountName}.{dnsSuffix}/{filesystem}/{path}
POST https://{accountName}.{dnsSuffix}/{filesystem}/{path}?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

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

timeout
query

integer

int32

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

요청 헤더

Name 필수 형식 Description
x-ms-lease-action True

PathLeaseAction

"acquire", "break", "change", "renew" 및 "release"의 다섯 가지 임대 작업이 있습니다. "acquire"를 사용하고 "x-ms-proposed-lease-id" 및 "x-ms-lease-duration"을 지정하여 새 임대를 획득합니다. "break"를 사용하여 기존 임대를 중단합니다. 임대가 중단되면 임대 중단 기간이 경과할 수 있으며, 이 기간 동안 파일에서 중단 및 해제를 제외한 임대 작업을 수행할 수 없습니다. 임대가 성공적으로 중단되면 새로운 임대를 획득하기 위해 기다려야 하는 기간(초)이 응답에 표시됩니다. "변경"을 사용하고 "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"이 "갱신", "변경" 또는 "릴리스"인 경우 필요합니다. 갱신 및 릴리스 작업의 경우 현재 임대 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"이 "획득" 또는 "변경"인 경우 필요합니다. 작업이 성공하면 이 임대 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
  • 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, "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 충돌, InvalidFlushOperation, "리소스가 Blob Service API에 의해 생성되거나 수정되었으며 Data Lake Storage 서비스 API에서 쓸 수 없습니다."
  • 409 충돌, InvalidRenameSourcePath, "원본 디렉터리가 대상 디렉터리와 같을 수 없으며 대상이 원본 디렉터리의 하위 디렉터리가 될 수도 없습니다."
  • 409 충돌, InvalidSourceOrDestinationResourceType, "원본 및 대상 리소스 유형이 동일해야 합니다."
  • 409 충돌, LeaseAlreadyPresent, "이미 임대가 있습니다."
  • 409 Conflict, LeaseIdMismatchWithLeaseOperation, "지정된 임대 ID가 지정된 임대 작업과 리소스의 임대 ID와 일치하지 않습니다."
  • 409 충돌, LeaseIsAlreadyBroken, "임대가 이미 끊어졌으며 다시 끊을 수 없습니다."
  • 409 충돌, LeaseIsBreakingAndCannotBeAcquired, "임대 ID가 일치하지만 임대는 현재 호환성이 손상되는 상태이며 손상될 때까지 인수할 수 없습니다."
  • 409 충돌, LeaseIsBreakingAndCannotBeChanged, "임대 ID가 일치하지만 임대는 현재 호환성이 손상되는 상태이며 변경할 수 없습니다."
  • 409 충돌, 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

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

PathLeaseAction

"acquire", "break", "change", "renew" 및 "release"의 다섯 가지 임대 작업이 있습니다. "acquire"를 사용하고 "x-ms-proposed-lease-id" 및 "x-ms-lease-duration"을 지정하여 새 임대를 획득합니다. "break"를 사용하여 기존 임대를 중단합니다. 임대가 중단되면 임대 중단 기간이 경과할 수 있으며, 이 기간 동안 파일에서 중단 및 해제를 제외한 임대 작업을 수행할 수 없습니다. 임대가 성공적으로 중단되면 새로운 임대를 획득하기 위해 기다려야 하는 기간(초)이 응답에 표시됩니다. "변경"을 사용하고 "x-ms-lease-id"에서 현재 임대 ID를 지정하고 "x-ms-proposed-lease-id"의 새 임대 ID를 지정하여 활성 임대의 임대 ID를 변경합니다. "갱신"을 사용하고 "x-ms-lease-id"를 지정하여 기존 임대를 갱신합니다. "release"를 사용하고 "x-ms-lease-id"를 지정하여 임대를 해제합니다.

DataLakeStorageError

Name 형식 Description
error

Error

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

Error

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

Name 형식 Description
code

string

서비스 오류 코드입니다.

message

string

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

PathLeaseAction

"acquire", "break", "change", "renew" 및 "release"의 다섯 가지 임대 작업이 있습니다. "acquire"를 사용하고 "x-ms-proposed-lease-id" 및 "x-ms-lease-duration"을 지정하여 새 임대를 획득합니다. "break"를 사용하여 기존 임대를 중단합니다. 임대가 중단되면 임대 중단 기간이 경과할 수 있으며, 이 기간 동안 파일에서 중단 및 해제를 제외한 임대 작업을 수행할 수 없습니다. 임대가 성공적으로 중단되면 새로운 임대를 획득하기 위해 기다려야 하는 기간(초)이 응답에 표시됩니다. "변경"을 사용하고 "x-ms-lease-id"에서 현재 임대 ID를 지정하고 "x-ms-proposed-lease-id"의 새 임대 ID를 지정하여 활성 임대의 임대 ID를 변경합니다. "갱신"을 사용하고 "x-ms-lease-id"를 지정하여 기존 임대를 갱신합니다. "release"를 사용하고 "x-ms-lease-id"를 지정하여 임대를 해제합니다.

Name 형식 Description
acquire

string

break

string

change

string

release

string

renew

string