페이지 범위 가져오기

페이지 범위 가져오기 작업은 페이지 Blob 또는 페이지 Blob의 스냅샷 유효한 페이지 범위 목록을 반환합니다.

요청

페이지 범위 가져오기 요청은 다음과 같이 생성될 수 있습니다. HTTPS를 사용하는 것이 좋습니다. myaccount를 스토리지 계정 이름으로 바꿉니다.

GET 메서드 요청 URI HTTP 버전
https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=pagelist

https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=pagelist&snapshot=<DateTime>

https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=pagelist&snapshot=<DateTime>&prevsnapshot=<DateTime>
HTTP/1.1

에뮬레이트된 스토리지 서비스 URI

에뮬레이트된 스토리지 서비스에 대해 요청하는 경우 에뮬레이터 호스트 이름 및 Azure Blob Storage 포트를 127.0.0.1:1:10000으로 지정한 다음 에뮬레이트된 스토리지 계정 이름을 지정합니다.

GET 메서드 요청 URI HTTP 버전
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob?comp=pagelist HTTP/1.1

자세한 내용은 개발 및 테스트에 Azure Storage Emulator 사용을 참조하세요.

URI 매개 변수

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

매개 변수 Description
marker 선택 사항, 버전 2020-10-02 이상. 다음 GetPageRanges 작업으로 반환할 범위의 부분을 식별합니다. 반환된 범위가 불완전한 경우 작업은 응답 본문 내에서 표식 값을 반환합니다. 그런 다음, 후속 호출에서 표식 값을 사용하여 다음 범위 집합을 요청할 수 있습니다.

마커 값은 클라이언트에 불투명합니다.
maxresults 선택 사항, 버전 2020-10-02 이상. 반환할 최대 페이지 범위 수를 지정합니다. 요청이 10,000보다 큰 값을 지정하면 서버는 최대 10,000개의 항목을 반환합니다. 반환할 추가 결과가 있는 경우 서비스는 NextMarker 응답 요소에 연속 토큰을 반환합니다.

를 0보다 작거나 같은 값으로 설정 maxresults 하면 오류 응답 코드 400(잘못된 요청)이 발생합니다.
snapshot 선택 사항입니다. 있을 때 정보를 검색할 blob 스냅샷 지정하는 불투명한 DateTime 값입니다. Blob 스냅샷 작업에 대한 자세한 내용은 Blob 스냅샷 만들기를 참조하세요.
timeout 선택 사항입니다. 초 단위로 표시됩니다. 자세한 내용은 Blob Storage 작업에 대한 시간 제한 설정을 참조하세요.
prevsnapshot 선택 사항, 버전 2015-07-08 이상. 응답에 대상 Blob과 이전 스냅샷 간에 변경된 페이지만 포함되도록 지정하는 DateTime 값입니다. 변경된 페이지에는 업데이트된 페이지와 지워진 페이지가 모두 포함됩니다. 대상 Blob은 로 지정된 prevsnapshot 스냅샷 두 스냅샷 이전인 경우일 수 있습니다.

참고: 증분 스냅샷은 현재 2016년 1월 1일 또는 그 이후에 만들어진 Blob에 대해서만 지원됩니다.

요청 헤더

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

요청 헤더 Description
Authorization 필수 사항입니다. 권한 부여 체계, 계정 이름 및 서명을 지정합니다. 자세한 내용은 Azure Storage에 대한 요청 권한 부여를 참조하세요.
Date 또는 x-ms-date 필수 사항입니다. 요청에 대한 UTC(협정 세계시)를 지정합니다. 자세한 내용은 Azure Storage에 대한 요청 권한 부여를 참조하세요.
x-ms-version 모든 권한 있는 요청에 필요하며 익명 요청의 경우 선택 사항입니다. 이 요청에 사용할 작업의 버전을 지정합니다. 자세한 내용은 Azure Storage 서비스에 대한 버전 관리를 참조하세요.
Range 선택 사항입니다. 범위를 나열할 바이트 범위(포함)를 지정합니다. 를 생략하면 Range Blob에 대한 모든 범위가 반환됩니다.
x-ms-range 선택 사항입니다. 범위를 나열할 바이트 범위(포함)를 지정합니다. Rangex-ms-range가 모두 지정된 경우 서비스에서 x-ms-range의 값이 사용됩니다. 자세한 내용은 Blob Storage 작업의 범위 헤더 지정 을 참조하세요.
x-ms-lease-id:<ID> 선택 사항입니다. 이 헤더를 지정하면 다음 조건이 모두 충족되는 경우에만 작업이 수행됩니다.

- Blob의 임대가 현재 활성화되어 있습니다.

- 요청에 지정된 임대 ID가 Blob의 임대 ID와 일치합니다.

이 헤더를 지정하고 조건 중 하나가 충족되지 않으면 요청이 실패하고 상태 코드 412(사전 조건 실패)로 작업이 실패합니다.
x-ms-previous-snapshot-url 선택 사항, 버전 2019-07-07 이상. 은 previous-snapshot-url 지정된 URI에 있는 대상 Blob과 스냅샷 간에 변경된 페이지만 응답에 포함되도록 지정합니다. 변경된 페이지에는 업데이트된 페이지와 지워진 페이지가 모두 포함됩니다. 대상 Blob은 이 헤더에 지정된 스냅샷 둘 중 이전인 경우 스냅샷 수 있습니다.

참고: 증분 스냅샷은 현재 2016년 1월 1일 또는 그 이후에 만들어진 Blob에 대해서만 지원되며 이 헤더는 관리 디스크 시나리오에서만 사용해야 합니다. 그렇지 않으면 매개 변수를 prevsnapshot 사용합니다.
x-ms-client-request-id 선택 사항입니다. Azure 스토리지 분석 로깅을 사용하도록 설정할 때 분석 로그에 기록되는 1키비바이트(KiB) 문자 제한을 사용하여 클라이언트에서 생성된 불투명 값을 제공합니다. 클라이언트 쪽 활동과 서버에서 수신한 요청의 상관 관계를 지정할 때 이 헤더를 사용하는 것이 좋습니다. 자세한 내용은 스토리지 분석 로깅Azure 로깅 정보: 로그를 사용하여 Azure Storage 요청 추적을 참조하세요.

이 작업은 또한 지정된 조건이 충족될 경우에만 페이지 범위를 가져오는 조건부 헤더 사용을 지원합니다. 자세한 내용은 Blob Storage 작업에 대한 조건부 헤더 지정을 참조하세요.

요청 본문

없음

응답

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

상태 코드

작업에 성공하면 상태 코드 200(정상)이 반환됩니다.

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

응답 헤더

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

구문 Description
Last-Modified Blob을 마지막으로 수정한 날짜/시간입니다. 날짜 형식은 RFC 1123을 따릅니다.

blob의 메타데이터 또는 속성에 대한 업데이트를 포함하여 Blob을 수정하는 모든 작업은 수행할 경우 blob의 마지막 수정 시간이 변경됩니다.
ETag 클라이언트가 조건부로 작업을 수행하는 데 사용할 수 있는 값을 포함합니다. 요청 버전이 2011-08-18 이상인 경우 ETag 값은 따옴표로 묶입니다.
x-ms-blob-content-length Blob의 크기(바이트)입니다.
x-ms-request-id 만들어진 요청을 고유하게 식별하며 요청 문제를 해결하는 데 사용할 수 있습니다. 자세한 내용은 API 작업 문제 해결을 참조하세요.
x-ms-version 요청을 실행하는 데 사용된 Blob Storage 버전을 나타냅니다. 이 헤더는 버전 2009-09-19 이상에 대해 수행된 요청에 대해 반환됩니다.

컨테이너가 Blob Storage 버전 2009-09-19를 사용하여 공용 액세스용으로 표시된 경우 지정된 버전이 없는 익명 요청에 대해서도 이 헤더가 반환됩니다.
Date 서비스에서 생성된 UTC 날짜/시간 값으로, 응답이 시작된 시간을 나타냅니다.
x-ms-client-request-id 요청 및 해당 응답 문제를 해결하는 데 사용할 수 있습니다. 이 헤더의 값 x-ms-client-request-id 은 요청에 있고 값에 표시되는 ASCII 문자가 1,024자 이하인 경우 헤더 값과 같습니다. 헤더가 x-ms-client-request-id 요청에 없으면 응답에 표시되지 않습니다.

응답 본문

응답 본문에는 주소 페이지 범위를 늘려 정렬된 겹치지 않는 유효한 페이지 범위 목록이 포함됩니다. 응답 본문의 형식은 다음과 같습니다.

<?xml version="1.0" encoding="utf-8"?>  
<PageList>  
   <PageRange>  
      <Start>Start Byte</Start>  
      <End>End Byte</End>  
   </PageRange>  
   <PageRange>  
      <Start>Start Byte</Start>  
      <End>End Byte</End>  
   </PageRange>  
</PageList>  

Blob의 전체 페이지 집합이 지워진 경우 응답 본문에는 페이지 범위가 포함되지 않습니다.

매개 변수를 prevsnapshot 지정한 경우 응답에는 대상 스냅샷 또는 Blob과 이전 스냅샷 다른 페이지만 포함됩니다. 반환된 페이지에는 업데이트되거나 지워진 두 페이지가 모두 포함됩니다. 이 응답 본문의 형식은 다음과 같습니다.

<?xml version="1.0" encoding="utf-8"?>  
<PageList>  
   <PageRange>  
      <Start>Start Byte</Start>  
      <End>End Byte</End>  
   </PageRange>  
   <ClearRange>  
      <Start>Start Byte</Start>  
      <End>End Byte</End>  
   </ClearRange>  
   <PageRange>  
      <Start>Start Byte</Start>  
      <End>End Byte</End>  
   </PageRange>  
</PageList>  
  

Blob의 전체 페이지 집합이 지워지고 매개 변수가 prevsnapshot 지정되지 않은 경우 응답 본문에는 페이지 범위가 포함되지 않습니다.

매개 변수를 maxresults 지정한 경우 응답에는 태그에 연속 토큰 NextMarker 이 있는 지정된 수의 범위만 포함됩니다. 보류 중인 범위가 더 이상 없거나 다음 요청에서 매개 변수로 marker 보내야 하는 불투명 값이 포함된 경우 연속 토큰은 비어 있습니다. 이 응답 본문의 형식은 다음과 같습니다.

<?xml version="1.0" encoding="utf-8"?>  
<PageList>  
   <PageRange>  
      <Start>Start Byte</Start>  
      <End>End Byte</End>  
   </PageRange>  
   <ClearRange>  
      <Start>Start Byte</Start>  
      <End>End Byte</End>  
   </ClearRange>  
   <PageRange>  
      <Start>Start Byte</Start>  
      <End>End Byte</End>  
   </PageRange>
   <NextMarker/>
</PageList>  
  

권한 부여

Azure Storage에서 데이터 액세스 작업을 호출할 때 권한 부여가 필요합니다. 아래에 설명된 대로 작업에 권한을 부여할 Get Page Ranges 수 있습니다.

Azure Storage는 Microsoft Entra ID 사용하여 Blob 데이터에 대한 요청에 권한을 부여할 수 있도록 지원합니다. Microsoft Entra ID 사용하면 Azure RBAC(Azure 역할 기반 액세스 제어)를 사용하여 보안 주체에 권한을 부여할 수 있습니다. 보안 주체는 사용자, 그룹, 애플리케이션 서비스 주체 또는 Azure 관리 ID일 수 있습니다. 보안 주체는 Microsoft Entra ID 인증되어 OAuth 2.0 토큰을 반환합니다. 그런 다음 토큰을 사용하여 Blob service에 대한 요청을 승인할 수 있습니다.

Microsoft Entra ID 사용하여 권한 부여에 대한 자세한 내용은 Microsoft Entra ID 사용하여 Blob에 대한 액세스 권한 부여를 참조하세요.

사용 권한

아래에는 Microsoft Entra 사용자, 그룹 또는 서비스 주체가 작업을 호출 Get Page Ranges 하는 데 필요한 RBAC 작업과 이 작업을 포함하는 최소 권한의 기본 제공 Azure RBAC 역할이 나와 있습니다.

Azure RBAC를 사용하여 역할을 할당하는 방법에 대한 자세한 내용은 Blob 데이터에 액세스하기 위해 Azure 역할 할당을 참조하세요.

설명

각 페이지 범위에 대한 시작 및 종료 바이트 오프셋도 범위에 포함됩니다.

여러 번의 쓰기 작업으로 인해 심하게 조각화된 페이지 blob의 경우 내부 서버 시간 초과로 인해 Get Page Ranges 요청이 실패할 수 있습니다. 쓰기 작업 수가 많은 페이지 blob의 범위를 검색하는 응용 프로그램은 페이지 범위를 한 번에 조금씩 나눠서 검색해야 합니다.

버전 2015-07-08을 기준으로 매개 변수를 prevsnapshot 사용하여 를 호출 Get Page Ranges 하여 기본 Blob과 스냅샷 간에 또는 Blob의 두 스냅샷 간에 다른 페이지를 반환할 수 있습니다. 이러한 페이지 차이를 사용하여 페이지 Blob의 증분 스냅샷 저장할 수 있습니다. 증분 스냅샷은 사용자 고유의 백업 솔루션을 구현하려는 경우 가상 머신 디스크를 백업하는 비용 효율적인 방법입니다.

매개 변수를 prevsnapshot 사용하여 를 호출 Get Page Ranges 하면 에서 지정한 스냅샷 가져온 이후 업데이트되거나 지워진 페이지가 반환됩니다prevsnapshot. 그런 다음 Put Page를 사용하여 다른 스토리지 계정의 백업 페이지 Blob에 반환되는 페이지를 복사할 수 있습니다.

버전 2019-07-07을 기준으로 헤더를 x-ms-previous-snapshot-url 사용하여 증분 스냅샷에 대한 관리 디스크 계정의 스냅샷을 지정할 수 있습니다. 관리 디스크를 사용하지 않는 경우 쿼리 매개 변수를 prevsnapshot 사용합니다.

Blob Get Page Ranges 에 대한 특정 작업은 증분 스냅샷 반환하도록 호출될 때 실패합니다. Get Pages Ranges에서 지정한 스냅샷 수행한 후 Blob 배치 또는 Blob 복사 요청의 대상인 Blob에서 호출된 prevsnapshot 경우 오류 코드 409(충돌)로 인해 실패합니다. 작업의 대상 Get Page Ranges 자체가 스냅샷 경우 로 지정된 prevsnapshot 스냅샷 이전이고 두 스냅샷 간의 간격으로 또는 Copy Blob 작업이 호출되지 않는 Put Blob 한 호출이 성공합니다.

참고

증분 스냅샷은 현재 2016년 1월 1일 또는 그 이후에 생성된 Blob에 대해서만 지원됩니다. 이전 Blob에서 이 기능을 사용하려고 하면 HTTP 오류 코드 409(충돌)인 오류가 발생 BlobOverwritten 합니다.

추가 정보

Azure Storage에 대한 요청 권한 부여
상태 및 오류 코드
Blob Storage 작업에 대한 시간 제한 설정