내보내기(0) 인쇄
모두 확장
이 항목은 아직 평가되지 않았습니다.- 이 항목 평가

블록 목록 가져오기(REST API)

업데이트 날짜: 2014년 2월

Get Block List 작업은 블록 blob의 일부로 업로드된 블록 목록을 검색합니다.

blob에 대해 유지 관리되는 블록 목록은 다음 두 가지입니다.

  • 커밋된 블록 목록: 블록 목록 배치(REST API)를 사용해서 특정 blob에 성공적으로 커밋된 블록 목록입니다.

  • 커밋되지 않은 블록 목록: 블록 배치(REST API)을 사용하여 blob에 대해 업로드되었지만 아직 커밋되지 않은 블록 목록입니다. 이러한 블록은 Windows Azure에 blob와 연결되어 저장되지만 아직 해당 blob의 일부를 형성하지 않습니다.

Get Block List를 호출하여 커밋된 블록 목록, 커밋되지 않은 블록 목록 또는 두 목록을 모두 반환할 수 있습니다. 또한 이 작업을 호출해서 스냅숏에 대해 커밋된 블록 목록을 검색할 수 있습니다.

다음과 같이 Get Block List 요청을 생성할 수 있습니다. HTTPS를 사용하는 것이 좋습니다. myaccount를 사용자의 저장소 계정으로 바꿉니다.

 

GET 메서드 요청 URI HTTP 버전

https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=blocklist

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

HTTP/1.1

에뮬레이트된 저장소 서비스 URI

에뮬레이트된 저장소 서비스에 대해 요청을 수행할 때는 에뮬레이터 호스트 이름 및 Blob 서비스 포트를 127.0.0.1:10000으로 지정하고 뒤에 에뮬레이트된 저장소 계정 이름을 붙입니다.

 

GET 메서드 요청 URI HTTP 버전

http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob?comp=blocklist

HTTP/1.1

자세한 내용은 About Development Storage을 참조하십시오.

URI 매개 변수

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

 

URI 매개 변수 설명

snapshot

선택 사항. 스냅숏 매개 변수는 제공되었을 경우 검색할 blob 목록을 지정하는 불투명한 DateTime 값입니다. blob 스냅숏 사용에 대한 자세한 내용은 Blob의 스냅숏 만들기을 참조하십시오.

blocklisttype

커밋된 블록 목록, 커밋되지 않은 블록 목록 또는 두 목록을 함께 반환할지 여부를 지정합니다. 유효한 값은 committed, uncommitted 또는 all입니다. 이 매개 변수를 생략하면 Get Block List가 커밋된 블록 목록을 반환합니다.

timeout

선택 사항. timeout 매개 변수는 초 단위로 표시됩니다. 자세한 내용은 Blob 서비스 작업의 제한 시간 설정을 참조하십시오.

요청 헤더

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

 

요청 헤더 설명

Authorization

필수 사항. 인증 체계, 계정 이름 및 서명을 지정합니다. 자세한 내용은 Windows Azure 저장소 서비스에 대한 인증를 참조하십시오.

Date 또는 x-ms-date

필수 사항. 요청의 UCT(협정 세계시)를 지정합니다. 자세한 내용은 Windows Azure 저장소 서비스에 대한 인증를 참조하십시오.

x-ms-version

인증된 모든 요청의 경우 필수이고, 익명 요청의 경우에는 선택 사항입니다. 이 요청에 사용할 작업의 버전을 지정합니다. 자세한 내용은 Windows Azure에서 Blob, 큐 및 테이블 서비스의 버전 관리을 참조하십시오.

x-ms-lease-id:<ID>

선택 사항. 이 헤더가 지정되었으면 다음 조건이 모두 충족될 경우에만 작업이 수행됩니다.

  • blob의 임대가 현재 활성 상태입니다.

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

이 헤더가 지정되었고 이들 조건이 모두 충족되지 않으면 요청이 실패하고 작업이 실패하며 상태 코드 412(전제 조건 실패)가 표시됩니다.

x-ms-client-request-id

선택 사항. 저장소 분석 로깅을 사용하도록 설정한 경우 분석 로그에 기록된 1KB 문자 제한의 클라이언트에서 생성한 불투명 값을 제공합니다. 클라이언트 쪽 작업과 서버가 받은 요청의 상관 관계를 지정하는 데 이 헤더를 사용하는 것이 좋습니다. 자세한 내용은 저장소 분석 로깅 정보Windows Azure 로깅: 로그를 사용하여 저장소 요청 추적을 참조하십시오.

이 작업은 또한 지정된 조건이 충족될 경우에만 blob를 읽는 조건부 헤더 사용을 지원합니다. 자세한 내용은 Blob 서비스 작업의 조건부 헤더 지정을 참조하십시오.

요청 본문

없음.

예제 요청

다음 예제 요청 URI는 MOV1.avi라는 blob에 대해 커밋된 블록 목록을 반환합니다.

GET http://myaccount.blob.core.windows.net/movies/MOV1.avi?comp=blocklist&blocklisttype=committed HTTP/1.1

다음 예제 요청 URI는 커밋된 블록 목록과 커밋되지 않은 블록 목록을 모두 반환합니다.

GET http://myaccount.blob.core.windows.net/movies/MOV1.avi?comp=blocklist&blocklisttype=all HTTP/1.1

다음 예제 요청 URI는 스냅숏에 대해 커밋된 블록 목록을 반환합니다. 스냅숏은 커밋된 블록으로만 구성되므로 이와 연결된 커밋되지 않은 블록이 없습니다.

GET http://myaccount.blob.core.windows.net/mycontainer/myblob?comp=blocklist&snapshot=2009-09-30T20%3a11%3a15.2735974Z

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

상태 코드

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

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

응답 헤더

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

 

응답 헤더 설명

Last-Modified

blob를 마지막으로 수정한 날짜/시간입니다. 날짜 형식은 RFC 1123을 따릅니다. 자세한 내용은 헤더의 날짜/시간 값 표현을 참조하십시오. 이 헤더는 blob에 커밋된 블록이 포함된 경우에만 반환됩니다.

blob의 메타데이터 또는 속성에 대한 업데이트를 포함하여 blob를 수정하는 모든 작업은 수행할 경우 blob의 마지막 수정 시간이 변경됩니다.

ETag

ETag에는 클라이언트가 조건부 요청을 생성하기 위해 사용할 수 있는 값이 포함됩니다. 자세한 내용은 Blob 서비스 작업의 조건부 헤더 지정을 참조하십시오.

이 헤더는 blob에 커밋된 블록이 포함된 경우에만 반환됩니다.

Content-Type

blob의 MIME 콘텐츠 형식입니다. 기본값은 application/xml입니다.

x-ms-blob-content-length

blob의 크기(바이트)입니다.

x-ms-request-id

이 헤더는 수행된 요청을 고유하게 식별하며, 이 헤더를 사용해서 요청 문제를 해결할 수 있습니다. 자세한 내용은 API 작업 문제 해결을 참조하십시오.

x-ms-version

요청을 실행하는 데 사용되는 Blob 서비스의 버전을 나타냅니다. 이 헤더는 2009-09-19 버전 이상에 대해 수행된 요청에 대해 반환됩니다.

Blob 서비스의 2009-09-19 버전을 사용해서 컨테이너가 공용 액세스용으로 표시된 경우 지정된 버전이 없는 익명 요청에 대해서도 이 헤더가 반환됩니다. 익명 요청을 통해서는 커밋된 블록 목록만 반환할 수 있습니다.

Date

응답이 시작된 시간을 나타내는 서비스에서 생성된 UTC 날짜/시간 값입니다.

응답 본문

커밋된 블록만 반환하는 요청의 응답 본문 형식은 다음과 같습니다.

<?xml version="1.0" encoding="utf-8"?>
<BlockList>
  <CommittedBlocks>
    <Block>
      <Name>base64-encoded-block-id</Name>
      <Size>size-in-bytes</Size>
    </Block>
  <CommittedBlocks>
</BlockList>

커밋된 블록과 커밋되지 않은 블록을 모두 반환하는 요청의 응답 본문 형식은 다음과 같습니다.


<?xml version="1.0" encoding="utf-8"?>
<BlockList>
  <CommittedBlocks>
     <Block>
        <Name>base64-encoded-block-id</Name>
        <Size>size-in-bytes</Size>
     </Block>
  </CommittedBlocks>
  <UncommittedBlocks>
    <Block>
      <Name>base64-encoded-block-id</Name>
      <Size>size-in-bytes</Size>
    </Block>
  </UncommittedBlocks>
 </BlockList>

예제 응답

다음 예에서 blocklisttype 매개 변수는 committed로 설정되었으므로 blob의 커밋된 블록만 응답에 반환됩니다.

HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Type: application/xml
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: 42da571d-34f4-4d3e-b53e-59a66cb36f23
Date: Sun, 25 Sep 2011 00:33:19 GMT

<?xml version="1.0" encoding="utf-8"?>
<BlockList>
  <CommittedBlocks>
    <Block>
      <Name>BlockId001</Name>
      <Size>4194304</Size>
    </Block>
    <Block>
      <Name>BlockId002</Name>
      <Size>4194304</Size>
    </Block>
  </CommittedBlocks>
</BlockList>

이 예에서는 blocklisttype 매개 변수는 all로 설정되었고 blob의 커밋된 블록과 커밋되지 않은 블록이 모두 응답에 반환됩니다.

HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Type: application/xml
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: 42da571d-34f4-4d3e-b53e-59a66cb36f23
Date: Sun, 25 Sep 2011 00:35:56 GMT

<?xml version="1.0" encoding="utf-8"?>
<BlockList>
  <CommittedBlocks>
    <Block>
      <Name>BlockId001</Name>
      <Size>4194304</Size>
    </Block>
    <Block>
      <Name>BlockId002</Name>
      <Size>4194304</Size>
    </Block>
  </CommittedBlocks>
  <UncommittedBlocks>
    <Block>
      <Name>BlockId003</Name>
      <Size>4194304</Size>
    </Block>
    <Block>
      <Name>BlockId004</Name>
      <Size>1024000</Size>
    </Block>
  </UncommittedBlocks>
</BlockList>

다음 예에서는 blocklisttype 매개 변수가 all로 설정되었지만 blob가 아직 커밋되지 않았으므로 CommittedBlocks 요소가 비어 있습니다.

HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Type: application/xml
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: 42da571d-34f4-4d3e-b53e-59a66cb36f23
Date: Wed, 14 Sep 2011 00:40:22 GMT

<?xml version="1.0" encoding="utf-8"?>
<BlockList>
  <CommittedBlocks />
  <UncommittedBlocks>
    <Block>
      <Name>BlockId001</Name>
      <Size>1024</Size>
    </Block>
    <Block>
      <Name>BlockId002</Name>
      <Size>1024</Size>
    </Block>
    <Block>
      <Name>BlockId003</Name>
      <Size>1024</Size>
    </Block>
    <Block>
      <Name>BlockId004</Name>
      <Size>1024</Size>
    </Block>
  </UncommittedBlocks>
</BlockList>

컨테이너의 ACL이 익명 액세스를 허용하도록 설정되었으면 모든 클라이언트가 Get Block List를 호출할 수 있지만 커밋된 블록만 공개적으로 액세스할 수 있습니다. 커밋되지 않은 블록 목록에 대한 액세스는 계정 소유자와 이 blob 또는 해당 컨테이너를 읽을 수 있는 권한이 있는 공유 액세스 서명을 사용하는 모든 사용자로 제한됩니다.

블록 blob에 커밋된 블록 목록, 아직 커밋되지 않은 블록 목록 또는 두 목록을 모두 반환하려면 Get Block List를 호출합니다. 반환할 블록 목록을 지정하려면 blocklisttype 매개 변수를 사용합니다.

커밋된 블록 목록은 블록 목록 배치(REST API) 작업으로 커밋된 것과 동일한 순서로 반환됩니다. 커밋된 블록 목록에는 블록이 두 번 이상 나타날 수 없습니다.

Put Block 또는 Put Block List에 대한 호출이 실패할 경우를 대비해서 커밋되지 않은 블록 목록을 사용해서 blob에서 누락된 블록을 확인할 수 있습니다. 최근에 업로드된 블록부터 가장 오래 전에 업로드한 블록의 순서로 커밋되지 않은 블록 목록이 반환됩니다. 블록 ID가 두 번 이상 업로드된 경우, 최근에 업로드된 블록만 목록에 나타납니다.

blob가 아직 커밋되지 않은 경우 blocklisttype=all을 사용해서 Get Block List를 호출하면 커밋되지 않은 블록이 반환되고 CommittedBlocks 요소는 비어 있습니다.

Get Block List는 블록 blob에만 적용됩니다. 페이지 blob에서 Get Block List를 호출하면 상태 코드 400(잘못된 요청)이 나타납니다.

이 정보가 도움이 되었습니까?
(1500자 남음)
의견을 주셔서 감사합니다.
표시:
© 2014 Microsoft. All rights reserved.