영업: 1-800-867-1380

스냅숏 Blob

게시: 2011년 8월

업데이트 날짜: 2014년 1월

Snapshot Blob 작업은 blob의 읽기 전용 스냅숏을 만듭니다.

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

 

  PUT 메서드 요청 URI HTTP 버전

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

HTTP/1.1

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

 

  PUT 메서드 요청 URI HTTP 버전

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

HTTP/1.1

자세한 내용은 개발 및 테스트에 Azure 저장소 에뮬레이터 사용를 참조하십시오.

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

 

매개 변수 설명

timeout

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

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

 

요청 헤더 설명

Authorization

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

Date 또는 x-ms-date

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

x-ms-version

인증된 모든 요청의 경우 필수입니다. 이 요청에 사용할 작업의 버전을 지정합니다. 자세한 내용은 Azure 저장소 서비스 버전 관리를 참조하십시오.

x-ms-meta-name:value

선택 사항입니다. blob와 연결된 사용자 정의 이름-값 쌍을 지정합니다. 이름-값 쌍이 지정되지 않은 경우 기본 blob 메타데이터를 스냅숏으로 복사합니다. 이름-값 쌍이 하나 이상 지정되었으면 지정된 메타데이터를 사용해서 스냅숏이 생성되고, 기본 blob에서 메타데이터가 복사되지 않습니다.

2009-09-19 버전부터는 메타데이터 이름이 C# 식별자의 명명 규칙을 따라야 합니다. 자세한 내용은 컨테이너와 Blob, 메타데이터의 이름 지정 및 참조을 참조하십시오.

If-Modified-Since

선택 사항입니다. DateTime 값입니다. 지정된 날짜/시간 이후 blob가 수정된 경우에만 blob의 스냅숏을 작성하려면 이 조건부 헤더를 지정합니다. 기본 blob가 수정되지 않은 경우 Blob 서비스가 상태 코드 412(전제 조건 실패)를 반환합니다.

If-Unmodified-Since

선택 사항입니다. DateTime 값입니다. 지정된 날짜/시간 이후 blob가 수정되지 않은 경우에만 blob의 스냅숏을 작성하려면 이 조건부 헤더를 지정합니다. 기본 blob가 수정된 경우 Blob 서비스가 상태 코드 412(전제 조건 실패)를 반환합니다.

If-Match

선택 사항입니다. ETag 값입니다. 해당 ETag 값이 지정된 값과 일치하는 경우에만 blob의 스냅숏을 작성하도록 이 조건부 헤더에 대한 ETag 값을 지정합니다. 값이 일치하지 않으면 Blob 서비스가 상태 코드 412(전제 조건 실패)를 반환합니다.

If-None-Match

선택 사항입니다. ETag 값입니다.

해당 ETag 값이 지정된 값과 일치하지 않는 경우에만 blob의 스냅숏을 작성하도록 이 조건부 헤더에 대한 ETag 값을 지정합니다. 값이 동일하면 Blob 서비스가 상태 코드 412(전제 조건 실패)를 반환합니다.

x-ms-lease-id:<ID>

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

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

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

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

x-ms-client-request-id

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

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

없음.

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

작업에 성공하면 상태 코드 201(만들어짐)이 반환됩니다.

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

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

 

구문 설명

x-ms-snapshot: <DateTime>

이 헤더는 스냅숏을 고유하게 식별하는 DateTime 값을 반환합니다. 이 헤더의 값은 스냅숏 버전을 나타내며, 스냅숏에 액세스하려는 이후 요청에 사용될 수 있습니다. 이 값은 불투명합니다.

ETag

스냅숏의 ETag입니다. 요청 버전이 2011-08-18 이상이면 ETag 값이 따옴표로 표시됩니다. 스냅숏에는 기록할 수 없으므로 스냅숏의 ETag는 변경되지 않습니다. 하지만 Snaphot Blob 요청으로 새로운 메타데이터가 제공된 경우에는 스냅숏의 ETag가 기본 blob의 ETag와 다릅니다. 요청에 메타데이터가 지정되지 않은 경우 스냅숏의 ETag는 스냅숏을 작성할 당시의 기본 blob의 ETag와 동일합니다.

Last-Modified

스냅숏을 마지막으로 수정한 시간입니다. 날짜 형식은 RFC 1123을 따릅니다. 자세한 내용은 헤더의 날짜/시간 값 표현을 참조하십시오.

스냅숏에는 기록할 수 없으므로 스냅숏의 마지막 수정 시간은 변경되지 않습니다. 하지만 Snaphot Blob 요청으로 새로운 메타데이터가 제공된 경우에는 스냅숏의 마지막 수정 시간이 기본 blob의 마지막 수정 시간과 다릅니다. 요청에 메타데이터가 지정되지 않은 경우 스냅숏의 마지막 수정 시간은 스냅숏을 작성할 당시의 기본 blob의 마지막 수정 시간과 동일합니다.

x-ms-request-id

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

x-ms-version

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

Date

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

없음.

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

스냅숏은 blob에 대한 읽기 전용 버전을 제공합니다. 생성된 스냅숏은 읽기, 복사 또는 삭제할 수 있지만 수정할 수는 없습니다.

스냅숏을 사용하면 blob 데이터를 편리하게 백업할 수 있습니다. 스냅숏을 사용하면 Blob 복사를 호출해서 blob를 이전 버전으로 복원하여 기본 blob를 해당 스냅숏으로 덮어쓸 수 있습니다.

스냅숏을 만들 때 Blob 서비스는 해당 기본 blob에 대해 상대적으로 스냅숏을 고유하게 식별하는 DateTime 값을 반환합니다. 이 값을 사용하여 스냅숏에 대해 추가 작업을 수행할 수 있습니다. 이 DateTime 값은 불투명한 것으로 취급해야 합니다.

DateTime 값은 해당 URI의 스냅숏을 식별합니다. 예를 들어 기본 blob와 해당 스냅숏에는 다음과 비슷한 URI가 포함됩니다.

  • 기본 blob: http://myaccount.blob.core.windows.net/mycontainer/myblob

  • Snapshot: http://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=<DateTime>

Snapshot Blob 작업을 호출할 때마다 고유한 DateTime 값과 함께 새로운 스냅숏이 생성됩니다. Blob는 여러 개의 스냅숏을 지원할 수 있습니다. 기존 스냅숏은 덮어쓰지 않지만 Blob 삭제를 호출하고 x-ms-include-snapshots 헤더를 적합한 값으로 설정하여 명시적으로 삭제해야 합니다.

스냅숏 읽기, 복사 및 삭제

Snapshot Blob 호출이 성공하면 x-ms-snapshot 응답 헤더에 DateTime 값이 반환됩니다. 그런 후 이 DateTime 값을 사용해서 특정 스냅숏 버전에 대해 읽기, 삭제 또는 복사 작업을 수행할 수 있습니다. blob 이름 다음에 ?snapshot=<DateTime>을 지정하여 스냅숏에 대해 유효한 모든 Blob 서비스 작업을 호출할 수 있습니다.

Blob 속성 및 메타데이터 복사

Blob의 스냅숏을 만들면 동일한 값을 포함하는 다음과 같은 시스템 속성이 스냅숏에 복사됩니다.

  • Content-Type

  • Content-Encoding

  • Content-Language

  • Content-Length

  • Cache-Control

  • Content-MD5

  • x-ms-blob-sequence-number (for page blobs only)

  • x-ms-copy-id(2012-02-12 버전 이상)

  • x-ms-copy-status(2012-02-12 버전 이상)

  • x-ms-copy-source(2012-02-12 버전 이상)

  • x-ms-copy-progress(2012-02-12 버전 이상)

  • x-ms-copy-completion-time(2012-02-12 버전 이상)

  • x-ms-copy-status-description(2012-02-12 버전 이상)

blob가 블록 blob인 경우에는 기본 blob의 커밋된 블록 목록도 스냅숏에 복사됩니다. 커밋되지 않은 블록은 복사되지 않습니다.

스냅숏 blob 크기는 스냅숏을 생성할 당시의 기본 blob 크기와 항상 동일합니다. 따라서 스냅숏 blob에 대한 Content-Length 헤더 값은 기본 blob의 헤더 값과 동일합니다.

요청에 x-ms-meta-name:value 헤더를 지정하여 스냅숏에 대해 하나 이상의 새로운 메타데이터 값을 지정할 수 있습니다. 이 헤더를 지정하지 않으면 기본 blob와 연결된 메타데이터가 스냅숏에 복사됩니다.

조건부 헤더 지정

조건이 충족될 때만 blob에 대한 스냅숏을 작성하도록 요청에 조건부 헤더를 지정할 수 있습니다. 지정된 조건이 충족되지 않으면 스냅숏이 생성되지 않으며, Blob 서비스가 충족되지 않은 조건에 대한 추가 오류 정보와 함께 상태 코드 412(전제 조건 실패)를 반환합니다.

임대된 blob의 스냅숏 만들기

기본 blob에 활성 임대가 포함된 경우 다음 조건 중 하나가 해당 요청에 대해 true인 경우에 한해 blob의 스냅숏을 작성할 수 있습니다.

  • 조건부 x-ms-lease-id 헤더가 지정되었고 기본 blob에 대한 활성 임대 ID가 요청에 포함되어 있습니다. 이 조건은 임대가 활성 상태이고 지정된 임대 ID가 blob와 연결된 ID와 일치하는 경우에만 스냅숏이 생성되도록 지정합니다.

  • x-ms-lease-id 헤더가 전혀 지정되지 않아서 배타적 쓰기 임대가 무시됩니다.

기본 blob와 연결된 임대는 스냅숏에 복사되지 않습니다. 스냅숏은 임대할 수 없습니다.

스냅숏 복사

Blob 복사 작업을 사용하여 기본 blob를 복사하면 기본 blob의 스냅숏이 대상 blob에 복사되지 않습니다. 복사본으로 대상 Blob를 덮어쓸 때 대상 Blob의 모든 스냅숏은 원래 이름을 그대로 유지합니다.

해당 기본 blob에 스냅숏 blob를 복사하여 이전 버전의 blob를 복원할 수 있습니다. 스냅숏은 그대로 유지되지만 기본 blob는 읽고 쓸 수 있는 복사본으로 덮어씁니다.

note참고
이 방식으로 스냅숏을 승격해도 블록 또는 페이지가 스냅숏과 기본 blob 사이에 공유되므로 저장소 리소스에 대한 추가 비용이 청구되지 않습니다.

이 정보가 도움이 되었습니까?
(1500자 남음)
의견을 주셔서 감사합니다.
Microsoft는 MSDN 웹 사이트에 대한 귀하의 의견을 이해하기 위해 온라인 설문 조사를 진행하고 있습니다. 참여하도록 선택하시면 MSDN 웹 사이트에서 나가실 때 온라인 설문 조사가 표시됩니다.

참여하시겠습니까?
표시:
© 2014 Microsoft