임대 공유

작업은 Lease Share Azure 파일 공유 또는 공유 스냅샷 대한 잠금을 설정하고 관리합니다. 이 API는 완전히 지원되지만 레거시 관리 API입니다. 대신 스토리지 리소스 공급자(Microsoft.Storage)에서 제공하는 파일 공유 - 임대를 사용합니다. 스토리지 리소스 공급자를 사용하여 프로그래밍 방식으로 리소스와 FileShare 상호 작용하는 방법에 대한 자세한 내용은 FileShares에서 작업을 참조하세요.

잠금 기간은 15~60초 또는 무한할 수 있습니다. 다음 모드 중 하나로 작업을 호출 Lease Share 할 수 있습니다.

  • Acquire: 새 임대를 요청합니다.
  • Renew: 기존 임대를 갱신합니다.
  • Change: 기존 임대의 ID를 변경합니다.
  • Release: 다른 클라이언트가 파일 공유에 대한 임대를 즉시 획득할 수 있도록 더 이상 필요하지 않은 경우 임대를 해제합니다.
  • Break: 임대를 종료하지만 현재 임대 기간이 만료될 때까지 다른 클라이언트가 새 임대를 획득할 수 없도록 합니다.

참고

Lease Share 작업은 버전 2020-02-10 이상에서 사용할 수 있습니다.

프로토콜 가용성

파일 공유 프로토콜 사용 사용 가능
SMB Yes
NFS Yes

요청

다음과 같이 요청을 생성할 Lease Share 수 있습니다. HTTPS를 사용하는 것이 좋습니다. myaccount를 스토리지 계정 이름으로 바꿉니다.

메서드 요청 URI HTTP 버전
PUT https://myaccount.file.core.windows.net/myshare?comp=lease&restype=share HTTP/1.1
PUT https://myaccount.file.core.windows.net/myshare?comp=lease&sharesnapshot=<DateTime>&restype=share HTTP/1.1

URI 매개 변수

요청 URI에 다음 추가 매개 변수를 지정할 수 있습니다.

매개 변수 설명
timeout 선택 사항입니다. timeout 매개 변수는 초 단위로 표시됩니다. 자세한 내용은 Azure Files 작업에 대한 시간 제한 설정을 참조하세요.

요청 헤더

다음 표에서는 필수 요청 헤더와 선택적 요청 헤더에 대해 설명합니다.

요청 헤더 Description
Authorization 필수 요소. 권한 부여 체계, 계정 이름 및 서명을 지정합니다. 자세한 내용은 Azure Storage에 대한 요청 권한 부여를 참조하세요.
Date 또는 x-ms-date 필수 요소. 요청에 대한 UTC(협정 세계시)를 지정합니다. 자세한 내용은 Azure Storage에 대한 요청 권한 부여를 참조하세요.
x-ms-version 선택 사항입니다. 이 요청에 사용할 작업의 버전을 지정합니다. 자세한 내용은 Azure Storage 서비스에 대한 버전 관리를 참조하세요.
x-ms-lease-id: <ID> 임대 갱신, 변경 또는 해제 시 필수입니다.

의 값을 x-ms-lease-id 유효한 GUID 문자열 형식으로 지정할 수 있습니다. 유효한 형식 목록은 Guid 생성자(문자열) 를 참조하세요.
x-ms-lease-action: <action> acquire: 새로운 임대를 요청합니다. 파일 공유에 활성 임대가 없는 경우 Azure Files 파일 공유에 임대를 만들고 새 임대 ID를 반환합니다. 파일 공유에 활성 임대가 있는 경우 활성 임대 ID를 사용하여 새 임대만 요청할 수 있습니다. 그러나 만료되지 않는 임대에 대해 음수 1(-1)을 포함하여 새 x-ms-lease duration를 지정할 수 있습니다.

renew: 임대를 갱신합니다. 요청에 지정된 임대 ID가 파일 공유와 연결된 임대 ID와 일치하는 경우 임대를 갱신할 수 있습니다. 해당 임대 만료 이후 파일 공유가 다시 임대되지 않은 한 임대가 만료된 경우에도 임대를 갱신할 수 있습니다. 임대를 갱신하면 임대 기간 시간이 재설정됩니다.

change: 활성 임대의 임대 ID를 변경합니다. 에는 change 의 현재 임대 ID와 의 x-ms-lease-id새 임대 ID x-ms-proposed-lease-id가 포함되어야 합니다.

release: 임대를 해제합니다. 요청에 지정된 임대 ID가 파일 공유와 연결된 임대 ID와 일치하는 경우 임대를 해제할 수 있습니다. 임대를 해제하면 릴리스가 완료되는 즉시 다른 클라이언트가 파일 공유에 대한 임대를 즉시 획득할 수 있습니다.

break: 파일 공유에 활성 임대가 있는 경우 임대를 중단합니다. 임대가 끊어진 후에는 갱신할 수 없습니다. 모든 권한 있는 요청은 임대를 중단할 수 있습니다. 요청은 일치하는 임대 ID를 지정할 필요가 없습니다. 임대가 중단되면 임대 중단 기간이 경과할 수 있으며 breakrelease 이 시간 동안 파일 공유에서 수행할 수 있는 유일한 작업입니다. 임대가 성공적으로 중단되면 새로운 임대를 획득하기 위해 기다려야 하는 기간(초)이 응답에 표시됩니다.

중단된 임대도 해제할 수 있습니다. 클라이언트는 릴리스된 파일 공유 임대를 즉시 획득할 수 있습니다.
x-ms-lease-break-period: N 선택 사항입니다. break 작업의 경우 임대가 손상되기 전에 0에서 60 사이의 시간(초)으로 임대를 계속해야 하는 제안된 기간입니다. 이 중단 기간은 임대에 남아 있는 시간보다 짧은 경우에만 사용됩니다. 남은 임대 기간이 더 길면 이 기간이 사용됩니다. 휴식 기간이 만료되기 전에는 새 임대를 사용할 수 없지만 임대는 중단 기간보다 더 오래 보유할 수 있습니다. 이 헤더가 작업과 함께 break 표시되지 않으면 남은 임대 기간이 경과한 후 고정 기간 임대가 중단되고 무한 임대가 즉시 중단됩니다.
x-ms-lease-duration: -1 acquire의 경우 필수입니다. 임대 기간(초)을 지정하거나 만료되지 않는 임대의 경우 -1을 지정합니다. 가능한 유한 임대 기간은 15~60초 사이입니다. 또는 change를 사용하여 renew 임대 기간을 변경할 수 없습니다.
x-ms-proposed-lease-id: <ID> 의 경우 acquire선택 사항이며 에 필요합니다 change. GUID 문자열 형식의 제안된 임대 ID입니다. Azure Blob Storage 제안된 임대 ID가 올바른 형식이 아니면 를 반환 400 (Invalid request) 합니다. 유효한 형식 목록은 Guid 생성자(문자열) 를 참조하세요.
Origin 선택 사항입니다. 요청을 실행한 원본을 지정합니다. 이 헤더가 있으면 응답에 CORS(크로스-원본 자원 공유) 헤더가 생성됩니다. 자세한 내용은 스토리지 서비스에 대한 CORS 지원을 참조하세요 .
x-ms-client-request-id 선택 사항입니다. 로깅이 구성될 때 로그에 기록되는 1키비바이트(KiB) 문자 제한으로 클라이언트에서 생성된 불투명 값을 제공합니다. 이 헤더를 사용하여 클라이언트 쪽 활동과 서버가 수신하는 요청의 상관 관계를 지정하는 것이 좋습니다. 자세한 내용은 Azure Files 모니터링을 참조하세요.

요청 본문

없음

샘플 요청

다음 예제 요청은 임대를 획득하는 방법을 보여줍니다.

Request Syntax:  
PUT https://myaccount.file.core.windows.net/myshare?restype=share&comp=lease HTTP/1.1  
  
Request Headers:  
x-ms-version: 2020-02-10  
x-ms-lease-action: acquire  
x-ms-lease-duration: -1  
x-ms-proposed-lease-id: 1f812371-a41d-49e6-b123-f4b542e851c5  
x-ms-date: Thu, 26 Jan 2012 23:30:18 GMT  
Authorization: SharedKey testaccount1:esSKMOYdK4o+nGTuTyeOLBI+xqnqi6aBmiW4XI699+o=  

응답

응답에는 HTTP 상태 코드 및 응답 헤더 집합이 포함되어 있습니다.

상태 코드

임대 작업에 대해 반환되는 성공 상태 코드는 다음과 같습니다.

  • Acquire: 작업에 성공하면 상태 코드 201(만들어짐)이 반환됩니다.
  • Renew: 작업에 성공하면 상태 코드 200(정상)이 반환됩니다.
  • Change: 작업에 성공하면 상태 코드 200(정상)이 반환됩니다.
  • Release: 작업에 성공하면 상태 코드 200(정상)이 반환됩니다.
  • Break: 작업에 성공하면 상태 코드 202(수락됨)가 반환됩니다.

상태 코드에 대한 자세한 내용은 상태 및 오류 코드를 참조하세요.

응답 헤더

이 작업의 응답에는 다음과 같은 헤더가 포함됩니다. 응답에는 추가 표준 HTTP 헤더도 포함될 수 있습니다. 모든 표준 헤더는 HTTP/1.1 프로토콜 사양을 준수합니다.

구문 Description
ETag 파일 공유의 입니다 ETag .
Last-Modified 파일 공유가 마지막으로 수정된 날짜와 시간을 반환합니다. 자세한 내용은 헤더의 날짜-시간 값 표현을 참조하세요.

파일 공유 또는 해당 속성 또는 메타데이터를 수정하는 모든 작업은 마지막으로 수정한 시간을 업데이트합니다. 여기에는 파일 공유의 사용 권한 설정이 포함됩니다. Blob에 대한 작업은 파일 공유의 마지막으로 수정된 시간에 영향을 주지 않습니다.
x-ms-lease-id: <id> 임대를 요청하면 Azure Files 고유한 임대 ID를 반환합니다. 임대가 활성 상태인 동안에는 파일 공유를 삭제하거나 임대를 갱신, 변경 또는 해제하는 모든 요청에 임대 ID를 포함해야 합니다.

또한 갱신 작업에 성공하면 활성 임대의 임대 ID가 반환됩니다.
x-ms-lease-time: seconds 임대 기간에 남은 대략적인 시간(초)입니다. 이 헤더는 임대 중단 요청이 성공한 경우에만 반환됩니다. 중단이 즉시 0 수행되면 가 반환됩니다.
x-ms-request-id 만들어진 요청을 고유하게 식별하며 요청 문제 해결에 사용할 수 있습니다. 자세한 내용은 API 작업 문제 해결을 참조하세요.
x-ms-version 요청을 실행하는 데 사용되는 FileREST API의 버전을 나타냅니다.
Date 응답이 시작된 시간을 나타내는 UTC 날짜/시간 값입니다. 서비스는 이 값을 생성합니다.
Access-Control-Allow-Origin 요청에 헤더가 포함 Origin 되고 CORS가 일치하는 규칙으로 사용하도록 설정된 경우 반환됩니다. 일치할 경우 이 헤더는 원본 요청 헤더의 값을 반환합니다.
Access-Control-Expose-Headers 요청에 헤더가 포함 Origin 되고 CORS가 일치하는 규칙으로 사용하도록 설정된 경우 반환됩니다. 클라이언트 또는 요청 실행자에 노출될 응답 헤더의 목록을 반환합니다.
Access-Control-Allow-Credentials 요청에 헤더가 Origin 포함되어 있고 CORS가 모든 원본을 허용하지 않는 일치 규칙으로 사용하도록 설정된 경우 반환됩니다. 이 헤더는 로 설정됩니다 true.
x-ms-client-request-id 요청 및 해당 응답 문제를 해결하는 데 사용할 수 있습니다. 이 헤더의 값은 요청에 있는 경우 헤더 값 x-ms-client-request-id 과 같습니다. 값은 최대 1,024자 표시 ASCII 문자입니다. 헤더가 x-ms-client-request-id 요청에 없으면 응답에 표시되지 않습니다.

응답 본문

없음

샘플 응답

다음은 임대를 획득하기 위한 요청의 샘플 응답입니다.

Response Status:  
HTTP/1.1 201 Created  
  
Response Headers:  
Server: Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0  
x-ms-request-id: cc6b209a-b593-4be1-a38a-dde7c106f402  
x-ms-version: 2020-02-10  
x-ms-lease-id: 1f812371-a41d-49e6-b123-f4b542e851c5  
Date: Thu, 26 Jan 2012 23:30:18 GMT  

권한 부여

계정 소유자만 이 작업을 호출할 수 있습니다.

설명

파일 공유에 대한 임대는 파일 공유에 대한 단독 삭제 액세스를 제공합니다. 임대 ID를 포함하지 않고 임대된 파일 공유에서 파일 공유 가져오기 작업이 성공합니다. 파일 공유 설정 작업에는 파일 공유 임대 ID가 필요합니다. 임대 ID가 설정된 파일 공유 작업에 포함되지 않으면 작업이 412(사전 조건 실패)로 실패합니다. 임대를 획득할 때 지정한 기간(15~60초 또는 무한 기간)에 대해 임대가 부여됩니다.

클라이언트가 임대를 획득하면 임대 ID가 반환됩니다. Azure Files 인수 요청에 임대 ID가 지정되지 않은 경우 임대 ID를 생성합니다. 클라이언트는 이 임대 ID를 사용하여 임대를 갱신하거나, 임대 ID를 변경하거나, 임대를 해제할 수 있습니다. 다음 다이어그램은 5가지 임대 상태와 임대 상태를 변경하는 명령 또는 이벤트를 보여줍니다.

파일 공유 임대 상태 및 상태 변경 트리거의 다이어그램

임대는 임대가 잠겨 있는지 잠금 해제되었는지 여부와 해당 상태에서 임대가 재생 가능한지 여부에 따라 이러한 상태에 있을 수 있습니다. 앞의 다이어그램에 표시된 임대 작업으로 인해 상태 전환이 발생합니다.

갱신 상태 잠긴 임대 잠금 해제된 임대
재생 가능 임대 임대됨 만료됨
재생 가능하지 않은 임대 주요 변경 중단, 사용 가능
  • Available - 임대가 잠금 해제되어 획득할 수 있습니다. 허용되는 작업: acquire.
  • Leased - 임대가 잠긴 상태입니다. 허용되는 작업: acquire (동일한 임대 ID에만 해당), renew, change, releasebreak.
  • Expired - 임대 기간이 만료되었습니다. 허용되는 작업: acquire, renew, releasebreak.
  • Breaking임대가 중단되었지만 중단 기간이 만료될 때까지 임대가 계속 잠깁니다. 허용되는 작업: release 및 입니다 break.
  • Broken임대가 중단되고 중단 기간이 만료되었습니다. 허용되는 작업: acquire, releasebreak.

Azure Files 파일 공유 임대가 만료된 후 임대 ID를 유지 관리합니다. 클라이언트는 만료된 임대 ID를 사용하여 임대를 갱신하거나 해제할 수 있습니다. 클라이언트가 이전 임대 ID를 사용하여 만료된 임대를 갱신하거나 해제하려고 시도하고 요청이 실패하는 경우 이는 임대가 마지막으로 활성화된 이후 파일 공유가 다시 임대되었거나 삭제되었음을 의미합니다. 임대가 명시적으로 해제되지 않고 만료되는 경우 클라이언트는 파일 공유에 대해 새 임대를 획득하기까지 최대 1분 정도 기다려야 할 수 있습니다. 하지만 클라이언트는 만료된 임대 ID를 사용해서 임대를 즉시 갱신할 수 있습니다.

파일 공유의 Last-Modified-Time 속성은 에 대한 호출로 Lease Share업데이트되지 않습니다.

다음 표에서는 다양한 상태의 임대가 포함된 컨테이너에 대한 작업의 결과를 보여줍니다. 문자(A), (B) 및 (C)는 임대 ID를 나타내고(X)는 Azure Files 생성된 임대 ID를 나타냅니다.

임대 상태별 공유에 대한 사용 시도 결과

작업 사용 가능 임대됨 (A) 중단 (A) 중단됨 (A) 만료됨 (A)
를 사용하여 삭제(A) 실패 (412) 임대됨 (A), 삭제 성공 중단 (A), 삭제 성공 실패 (412) 실패 (412)
(B)를 사용하여 삭제 실패 (412) 실패(409) 실패 (412) 실패 (412) 실패 (412)
삭제, 임대가 지정되지 않음 사용할 수 있음, 삭제 성공 실패 (412) 실패 (412) 사용할 수 있음, 삭제 성공 사용할 수 있음, 삭제 성공
(A)를 사용하는 기타 작업 실패 (412) 임대됨 (A), 작업 성공 중단 (A), 작업 성공 실패 (412) 실패 (412)
(B)를 사용하는 기타 작업 실패 (412) 실패(409) 실패(409) 실패 (412) 실패 (412)
작업, 임대가 지정되지 않음 사용할 수 있음, 작업 성공 임대됨 (A), 작업 성공 중단 (A), 작업 성공 중단됨 (A), 작업 성공 만료됨 (A), 작업 성공

임대 상태별 공유에 대한 임대 작업 결과

작업 사용 가능 임대됨 (A) 중단 (A) 중단됨 (A) 만료됨 (A)
Acquire, 제안된 임대 ID 없음 임대됨 (X) 실패(409) 실패(409) 임대됨 (X) 임대됨 (X)
Acquire (A) 임대됨 (A) 임대됨 (A), 새 기간 실패(409) 임대됨 (A) 임대됨 (A)
Acquire (B) 임대됨 (B) 실패(409) 실패(409) 임대됨 (B) 임대됨 (B)
Break, 기간=0 실패(409) 중단됨 (A) 중단됨 (A) 중단됨 (A) 중단됨 (A)
Break, 기간>0 실패(409) 중단 (A) 중단 (A) 중단됨 (A) 중단됨 (A)
Change, (A)에서 (B) 실패(409) 임대됨 (B) 실패(409) 실패(409) 실패(409)
Change, (B)에서 (A) 실패(409) 임대됨 (A) 실패(409) 실패(409) 실패(409)
Change, (B)에서 (C) 실패(409) 실패(409) 실패(409) 실패(409) 실패(409)
Renew (A) 실패(409) 임대됨 (A), 만료 시간 재설정 실패(409) 실패(409) 임대됨 (A)
Renew (B) 실패(409) 실패(409) 실패(409) 실패(409) 실패(409)
Release (A) 실패(409) 사용 가능 사용 가능 사용 가능 사용 가능
Release (B) 실패(409) 실패(409) 실패(409) 실패(409) 실패(409)
기간 만료 사용 가능 만료됨 (A) 중단됨 (A) 중단됨 (A) 만료됨 (A)