다음을 통해 공유


Blob 가져오기

Get Blob 작업은 메타데이터 및 속성을 포함해서 시스템으로부터 Blob을 읽거나 다운로드합니다. 또한 Get Blob를 호출해서 스냅숏을 읽을 수도 있습니다.

요청

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

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

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

https://myaccount.blob.core.windows.net/mycontainer/myblob?versionid=<DateTime>

HTTP/1.0

HTTP/1.1

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

에뮬레이트된 스토리지 서비스에 대한 요청을 수행할 때 에뮬레이터 호스트 이름 및 Azure Blob Storage 포트를 로 127.0.0.1:10000지정한 다음 에뮬레이트된 스토리지 계정 이름을 지정합니다.

GET 메서드 요청 URI HTTP 버전
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob HTTP/1.0

HTTP/1.1

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

URI 매개 변수

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

매개 변수 Description
snapshot 선택 사항입니다. 스냅샷 매개 변수는 있을 때 검색할 blob 스냅샷 지정하는 불투명 DateTime 값입니다. Blob 스냅샷 작업에 대한 자세한 내용은 blob의 스냅샷 Create 참조하세요.
versionid 선택 사항, 버전 2019-12-12 이상. versionid 매개 변수는 불투명 DateTime 값으로, 있을 때 검색할 Blob의 버전을 지정합니다.
timeout 선택 사항입니다. timeout 매개 변수는 초 단위로 표시됩니다. 자세한 내용은 Blob Storage 작업에 대한 시간 제한 설정을 참조하세요.

요청 헤더

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

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

- Blob의 임대가 현재 활성화되어 있습니다.
- 요청에 지정된 임대 ID가 Blob의 임대 ID와 일치합니다.

이 헤더가 지정되었지만 이러한 조건 중 하나가 충족되지 않으면 요청이 실패하고 Get Blob 상태 코드 412(사전 조건 실패)로 인해 작업이 실패합니다.
x-ms-range-get-content-md5: true 선택 사항입니다. 이 헤더를 로 설정하고 true 헤더와 Range 함께 지정하면 범위의 크기가 4MiB(mebibytes)보다 작거나 같은 경우 서비스에서 범위에 대한 MD5 해시를 반환합니다.

헤더 없이 Range 헤더를 지정하면 서비스는 코드 400(잘못된 요청)상태 반환합니다.

범위가 4MiB를 초과할 true 때 헤더가 로 설정된 경우 서비스는 상태 코드 400(잘못된 요청)을 반환합니다.
x-ms-range-get-content-crc64: true 선택 사항입니다. 이 헤더를 로 설정하고 true 헤더와 Range 함께 지정하면 범위가 크기가 4MiB보다 작거나 같은 경우 서비스에서 범위에 대한 CRC64 해시를 반환합니다.

헤더 없이 Range 헤더를 지정하면 서비스는 코드 400(잘못된 요청)상태 반환합니다.

범위가 4MiB를 초과할 true 때 헤더가 로 설정된 경우 서비스는 상태 코드 400(잘못된 요청)을 반환합니다.

x-ms-range-get-content-crc64 헤더가 x-ms-range-get-content-md5 모두 있는 경우 요청이 400(잘못된 요청)으로 실패합니다.

이 헤더는 버전 2019-02-02 이상에서 지원됩니다.
Origin 선택 사항입니다. 요청을 실행한 원본을 지정합니다. 이 헤더가 있으면 응답에 CORS(크로스-원본 자원 공유) 헤더가 생성됩니다.
x-ms-upn 선택 사항입니다. 버전 2023-11-03 이상. 계층 구조 네임스페이스가 사용하도록 설정된 계정에 유효합니다. true이면 , x-ms-groupx-ms-acl 응답 헤더에 x-ms-owner반환되는 사용자 ID 값이 Microsoft Entra 개체 ID에서 사용자 계정 이름으로 변환됩니다. 값이 false이면 Microsoft Entra 개체 ID로 반환됩니다. 기본 값은 false입니다. 그룹 및 애플리케이션 개체 ID는 고유한 이름이 없으므로 번역되지 않습니다.
x-ms-client-request-id 선택 사항입니다. 스토리지 분석 로깅을 사용하도록 설정할 때 분석 로그에 기록되는 1키비바이트(KiB) 문자 제한을 사용하여 클라이언트에서 생성된 불투명 값을 제공합니다. 클라이언트 쪽 활동과 서버에서 수신한 요청의 상관 관계를 지정할 때 이 헤더를 사용하는 것이 좋습니다. 자세한 내용은 Azure 스토리지 분석 로깅 정보를 참조하세요.

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

요청 헤더(고객이 제공한 암호화 키)

버전 2019-02-02를 기준으로 요청 시 다음 헤더를 지정하여 고객이 제공한 키로 암호화된 Blob을 읽을 수 있습니다. 고객이 제공한 키(및 해당 헤더 집합)를 사용하여 암호화하는 것은 선택 사항입니다. Blob이 이전에 고객이 제공한 키로 암호화된 경우 읽기 작업을 성공적으로 완료하려면 요청에 이러한 헤더를 포함해야 합니다.

요청 헤더 Description
x-ms-encryption-key 필수 사항입니다. Base64로 인코딩된 AES-256 암호화 키입니다.
x-ms-encryption-key-sha256 선택 사항입니다. 암호화 키의 Base64로 인코딩된 SHA256 해시입니다.
x-ms-encryption-algorithm: AES256 필수 사항입니다. 암호화에 사용할 알고리즘을 지정합니다. 이 헤더의 값은 AES256이어야 합니다.

요청 본문

없음

응답

응답에는 HTTP 상태 코드, 응답 헤더 집합, blob 콘텐츠를 포함하는 응답 본문이 포함됩니다.

상태 코드

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

지정된 범위를 읽는 작업이 성공하면 상태 코드 206(부분 콘텐츠)이 반환됩니다.

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

응답 헤더

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

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

blob의 메타데이터 또는 속성에 대한 업데이트를 포함하여 Blob을 수정하는 모든 작업은 수행할 경우 blob의 마지막 수정 시간이 변경됩니다.
x-ms-creation-time 버전 2017-11-09 이상. Blob을 만든 날짜/시간입니다. 날짜 형식은 RFC 1123을 따릅니다.
x-ms-meta-name:value 이 Blob과 사용자 정의 메타데이터로 연결된 이름-값 쌍 집합입니다.
x-ms-tag-count 버전 2019-12-12 이상. Blob에 태그가 있는 경우 이 헤더는 Blob에 저장된 태그 수를 반환합니다. Blob에 태그가 없으면 헤더가 반환되지 않습니다.
Content-Length 응답 본문에 제공된 바이트 수입니다.
Content-Type Blob에 대해 지정된 콘텐츠 형식입니다. 기본 콘텐츠 형식은 application/octet-stream입니다.
Content-Range 클라이언트가 요청 헤더를 설정 Range 하여 Blob의 하위 집합을 요청한 경우에 반환되는 바이트 범위를 나타냅니다.
ETag 조건부로 작업을 수행하는 데 사용할 수 있는 값을 포함합니다. 자세한 내용은 Blob Storage 작업에 대한 조건부 헤더 지정을 참조하세요. 요청 버전이 2011-08-18 이상인 경우 ETag 값은 따옴표로 묶입니다.
Content-MD5 blob에 MD5 해시가 포함되고 이 Get Blob 작업이 전체 Blob을 읽는 작업인 경우, 클라이언트가 메시지 콘텐츠 무결성을 확인할 수 있도록 이 응답 헤더가 반환됩니다.

버전 2012-02-12 이상 Put Blob 에서는 요청에 MD5 헤더가 포함되지 않은 경우에도 Put Blob 블록 Blob의 MD5 해시 값을 설정합니다.

요청이 지정된 범위를 읽는 것이고 x-ms-range-get-content-md5 이 로 true설정된 경우 범위 크기가 4MiB보다 작거나 같은 경우 요청은 범위에 대한 MD5 해시를 반환합니다.

이러한 조건 집합 중 어느 것도 이 아니면 true헤더에 대한 값이 Content-MD5 반환되지 않습니다.

x-ms-range-get-content-md5 헤더 없이 Range를 지정하면 서비스에서 상태 코드 400(잘못된 요청)이 반환됩니다.

범위가 4MiB를 초과할 true 때 가 로 설정된 경우 x-ms-range-get-content-md5 서비스는 코드 400(잘못된 요청)상태 반환합니다.
x-ms-content-crc64 요청이 지정된 범위를 x-ms-range-get-content-crc64 읽는 것이고 이 로 true설정된 경우 범위 크기가 4MiB보다 작거나 같은 경우 요청은 범위에 대한 CRC64 해시를 반환합니다.

x-ms-range-get-content-crc64 헤더 없이 Range를 지정하면 서비스에서 상태 코드 400(잘못된 요청)이 반환됩니다.

범위가 4MiB를 초과할 true 때 가 로 설정된 경우 x-ms-range-get-content-crc64 서비스는 코드 400(잘못된 요청)상태 반환합니다.
Content-Encoding 요청 헤더에 대해 지정된 Content-Encoding 값을 반환합니다.
Content-Language 요청 헤더에 대해 지정된 Content-Language 값을 반환합니다.
Cache-Control 이전에 Blob에 대해 헤더를 지정한 경우 반환됩니다.
Content-Disposition 버전 2013-08-15 이상에 대한 요청에 대해 반환됩니다. 이 헤더는 x-ms-blob-content-disposition 헤더에 대해 지정된 값을 반환합니다.

Content-Disposition 응답 헤더 필드는 응답 페이로드를 처리하는 방법에 대한 추가 정보를 전달하며 추가 메타데이터를 연결하는 데 사용할 수 있습니다. 예를 들어 헤더가 로 attachment설정된 경우 사용자 에이전트가 응답을 표시해서는 안 됨을 나타냅니다. 대신 지정된 Blob 이름이 아닌 파일 이름이 있는 다른 이름으로 저장 대화 상자가 표시됩니다.
x-ms-blob-sequence-number 페이지 blob에 대한 현재 시퀀스 번호입니다.

이 헤더는 블록 Blob 또는 추가 Blob에 대해 반환되지 않습니다.
x-ms-blob-type: <BlockBlob | PageBlob | AppendBlob> blob의 유형을 반환합니다.
x-ms-copy-completion-time: <datetime> 버전 2012-02-12 이상. 이 Blob이 대상 Blob인 마지막 시도 Copy Blob 작업의 결론 시간입니다. 이 값은 완료, 중단 또는 실패한 복사 시도의 시간을 지정할 수 있습니다. 복사본이 보류 중인 경우, 이 Blob이 작업의 대상이 Copy Blob 아니었거나 , 또는 Put Block List를 사용한 Set Blob PropertiesPut Blob종료된 Copy Blob 작업 후에 이 Blob이 수정된 경우 이 헤더는 표시되지 않습니다.
x-ms-copy-status-description: <error string> 버전 2012-02-12 이상. 가 failed 또는 pending인 경우에만 x-ms-copy-status 나타납니다. 치명적이거나 치명적이지 않은 마지막 복사 작업 실패의 원인을 설명합니다. 이 Blob이 작업의 대상이 Copy Blob 되지 않았거나 , Put Blob또는 Put Block List를 사용한 Set Blob Properties종료된 작업 후에 이 Blob이 수정된 Copy Blob 경우 이 헤더는 표시되지 않습니다.
x-ms-copy-id: <id> 버전 2012-02-12 이상. 이 Blob이 대상 Blob인 마지막 시도 Copy Blob 작업의 문자열 식별자입니다. 이 Blob이 작업의 대상이 Copy Blob 되지 않았거나 , Put Blob또는 Put Block List를 사용한 Set Blob Properties종료된 작업 후에 이 Blob이 수정된 Copy Blob 경우 이 헤더는 표시되지 않습니다.
x-ms-copy-progress: <bytes copied/bytes total> 버전 2012-02-12 이상. 복사된 바이트 수와 이 Blob이 대상 Blob인 마지막 시도 Copy Blob 작업의 원본에 있는 총 바이트를 포함합니다. 복사된 바이트까지 0에서 바이트로 표시할 Content-Length 수 있습니다. 이 Blob이 작업의 대상이 Copy Blob 되지 않았거나 , Put Blob또는 Put Block List를 사용한 Set Blob Properties종료된 작업 후에 이 Blob이 수정된 Copy Blob 경우 이 헤더는 표시되지 않습니다.
x-ms-copy-source: url 버전 2012-02-12 이상. 이 Blob이 대상 Blob인 마지막 시도 Copy Blob 작업에 사용된 원본 Blob 또는 파일을 지정하는 최대 2KiB의 URL입니다. 이 Blob이 작업의 대상이 Copy Blob 되지 않았거나 , Put Blob또는 Put Block List를 사용한 Set Blob Properties종료된 작업 후에 이 Blob이 수정된 Copy Blob 경우 이 헤더는 표시되지 않습니다.

이 헤더에 반환된 URL에는 원본 Blob에 액세스하는 데 사용된 SAS(공유 액세스 서명) 토큰을 포함하여 원본 Blob의 복사 작업에 사용된 요청 매개 변수가 포함됩니다.
x-ms-copy-status: <pending | success | aborted | failed> 버전 2012-02-12 이상. 다음 값을 사용하여 x-ms-copy-id로 식별되는 복사 작업의 상태입니다.

- success: 복사가 성공적으로 완료되었습니다.
- pending: 복사가 진행 중입니다. 일시적, 치명적이 아닌 오류로 인해 복사 진행 속도가 느려지지만 오류가 발생하지 않는지 확인 x-ms-copy-status-description 합니다.
- aborted: 복사가 에 의해 Abort Copy Blob종료되었습니다.
- failed: 복사에 실패했습니다. 오류 세부 정보는 x-ms-copy-상태-description을 참조하세요.

이 Blob이 작업의 대상이 Copy Blob 되지 않았거나 , Put Blob또는 Put Block List를 사용한 Set Blob Properties완료된 Copy Blob 작업 후에 이 Blob이 수정된 경우에는 이 헤더가 나타나지 않습니다.
x-ms-lease-duration: <infinite | fixed> 버전 2012-02-12 이상. blob가 임대된 경우 해당 임대가 무한 또는 고정된 기간인지 여부를 지정합니다.
x-ms-lease-state: <available | leased | expired | breaking | broken> 버전 2012-02-12 이상. Blob의 임대 상태입니다.
x-ms-lease-status:<locked | unlocked> blob의 현재 임대 상태입니다.
x-ms-request-id 만들어진 요청을 고유하게 식별하며 요청 문제를 해결하는 데 사용할 수 있습니다. 자세한 내용은 API 작업 문제 해결을 참조하세요.
x-ms-version 요청을 실행하는 데 사용된 Blob Storage 버전을 나타냅니다. 버전 2009-09-19 이상을 사용하여 수행한 요청에 포함됩니다.

컨테이너가 Blob Storage 버전 2009-09-19를 사용하여 공용 액세스용으로 표시된 경우 지정된 버전이 없는 익명 요청에 대해서도 이 헤더가 반환됩니다.
Accept-Ranges: bytes 서비스에서 일부 blob 콘텐츠에 대한 요청이 지원됨을 나타냅니다. 버전 2011-08-18 이상을 사용하여 수행한 요청과 SDK 버전 1.6 이상의 로컬 스토리지 서비스에 포함됩니다.
Date 서비스에서 생성된 UTC 날짜/시간 값으로, 응답이 시작된 시간을 나타냅니다.
Access-Control-Allow-Origin 요청에 Origin 헤더가 포함되고 CORS가 일치 규칙과 함께 설정된 경우 반환됩니다. 일치할 경우 이 헤더는 원본 요청 헤더의 값을 반환합니다.
Access-Control-Expose-Headers 요청에 Origin 헤더가 포함되고 CORS가 일치 규칙과 함께 설정된 경우 반환됩니다. 클라이언트 또는 요청 실행자에 노출될 응답 헤더의 목록을 반환합니다.
Vary CORS 규칙이 지정된 경우 Origin 헤더의 값과 함께 반환됩니다. 자세한 내용은 Azure Storage 서비스에 대한 CORS 지원을 참조하세요 .
Access-Control-Allow-Credentials 요청에 헤더가 Origin 포함되고 CORS가 모든 원본을 허용하지 않는 일치 규칙으로 사용하도록 설정된 경우 반환됩니다. 이 헤더는 로 true설정됩니다.
x-ms-blob-committed-block-count Blob에 있는 커밋된 블록의 수입니다. 이 헤더는 추가 Blob에 대해서만 반환됩니다.
x-ms-server-encrypted: true/false 버전 2015-12-11 이상. Blob 데이터 및 애플리케이션 메타데이터가 지정된 알고리즘을 true 사용하여 완전히 암호화되는 경우 이 헤더의 값은 로 설정됩니다. 그렇지 않으면 값이 로 설정 false 됩니다(Blob이 암호화되지 않은 경우 또는 Blob 또는 애플리케이션 메타데이터의 일부만 암호화된 경우).
x-ms-encryption-key-sha256 버전 2019-02-02 이상. 이 헤더는 Blob이 고객이 제공한 키로 암호화된 경우 반환됩니다.
x-ms-encryption-context 버전 2021-08-06 이상. 암호화 컨텍스트 속성 값이 설정되면 set 값을 반환합니다. 계정에 대해 계층 구조 네임스페이스를 사용하도록 설정한 경우에만 유효합니다.
x-ms-encryption-scope 버전 2019-02-02 이상. 이 헤더는 Blob이 암호화 scope 암호화된 경우 반환됩니다.
x-ms-blob-content-md5 버전 2016-05-31 이상. Blob에 MD5 해시가 있고 요청에 범위 헤더(Range 또는 x-ms-range)가 포함된 경우 이 응답 헤더는 전체 Blob의 MD5 값 값과 함께 반환됩니다. 이 값은 Content-MD5 헤더에 반환된 값과 같거나 같지 않을 수 있으며, 후자는 요청된 범위에서 계산됩니다.
x-ms-client-request-id 요청 및 해당 응답 문제를 해결하는 데 사용할 수 있습니다. 이 헤더의 값 x-ms-client-request-id 은 요청에 있고 값에 표시되는 ASCII 문자가 1,024자 이하인 경우 헤더 값과 같습니다. 헤더가 x-ms-client-request-id 요청에 없는 경우 이 헤더는 응답에 없습니다.
x-ms-last-access-time 버전 2020-02-10 이상. 스토리지 계정의 마지막 액세스 시간 추적 정책에 따라 Blob의 데이터에 마지막으로 액세스한 시간을 나타냅니다. 스토리지 계정에 마지막 액세스 시간 추적 정책이 없거나 정책이 비활성화된 경우 헤더가 반환되지 않습니다. 스토리지 계정의 마지막 액세스 시간 추적 정책을 설정하는 방법에 대한 자세한 내용은 Blob Service API를 참조하세요.
x-ms-blob-sealed 버전 2019-12-12 이상. 추가 Blob에 대해서만 반환됩니다. 추가 Blob이 봉인된 경우 값은 입니다 true. 자세한 내용은 Blob Seal 추가를 참조하세요.
x-ms-immutability-policy-until-date 버전 2020-06-12 이상. Blob에 설정된 날짜 까지 보존을 지정합니다. Blob이 수정되거나 삭제되지 않도록 보호할 수 있는 날짜입니다. 불변성 정책이 Blob에 설정된 경우에만 반환됩니다. 이 헤더의 값은 RFC1123 형식입니다.
x-ms-immutability-policy-mode: unlocked/locked 버전 2020-06-12 이상. 불변성 정책이 Blob에 설정된 경우 반환됩니다. 값은 및 locked입니다unlocked. unlocked 는 사용자가 날짜 까지 보존 기간을 늘리거나 줄이면 정책을 변경할 수 있음을 나타냅니다. locked 는 이러한 작업이 금지되었음을 나타냅니다.
x-ms-legal-hold: true/false 버전 2020-06-12 이상. Blob에 법적 보존이 없으면 이 헤더가 반환되지 않습니다. Blob에 법적 보존이 있고 해당 값이 인 경우 이 헤더의 값이 로 설정 true 됩니다 true. 그렇지 않으면 Blob에 법적 보존이 있고 해당 값이 인 경우 값이 로 설정 false 됩니다 false.
x-ms-owner 계층 구조 네임스페이스가 사용하도록 설정된 계정에 대해서만 버전 2020-06-12 이상. 파일 또는 디렉터리의 소유자 사용자를 반환합니다.
x-ms-group 계층 구조 네임스페이스가 사용하도록 설정된 계정에 대해서만 버전 2020-06-12 이상. 파일 또는 디렉터리의 소유 그룹을 반환합니다.
x-ms-permissions 계층 구조 네임스페이스가 사용하도록 설정된 계정에 대해서만 버전 2020-06-12 이상. 파일 또는 디렉터리에 대한 사용자, 그룹기타 에 대해 설정된 사용 권한을 반환합니다. 각 개별 권한은 형식입니다 [r,w,x,-]{3} .
x-ms-acl 버전 2023-11-03 이상. 계층 구조 네임스페이스가 사용하도록 설정된 계정에만 해당합니다. 파일 또는 디렉터리의 사용자, 그룹기타 에 대해 설정된 액세스 및 기본 액세스 제어 목록의 결합된 목록을 반환합니다. ACE(각 액세스 제어 항목)는 형식의 scope, 형식, 사용자 또는 그룹 식별자 및 사용 권한으로 [scope]:[type]:[id]:[permissions]구성됩니다. default scope ACE가 디렉터리의 기본 ACL에 속한다는 것을 나타내고, 그렇지 않으면 scope 암시적이고 ACE는 액세스 ACL에 속합니다. 각 개별 권한은 형식입니다 [r,w,x,-]{3} .
x-ms-resource-type 계층 구조 네임스페이스가 사용하도록 설정된 계정에 대해서만 버전 2020-10-02 이상. 또는 directory일 수 있는 경로에 대한 리소스 형식을 반환합니다file.

응답 본문

응답 본문에는 blob의 콘텐츠가 포함됩니다.

샘플 응답

Status Response:  
HTTP/1.1 200 OK  
  
Response Headers:  
x-ms-blob-type: BlockBlob  
x-ms-lease-status: unlocked  
x-ms-lease-state: available  
x-ms-meta-m1: v1  
x-ms-meta-m2: v2  
Content-Length: 11  
Content-Type: text/plain; charset=UTF-8  
Date: <date>  
ETag: "0x8CB171DBEAD6A6B"  
Vary: Origin  
Last-Modified: <date>  
x-ms-version: 2015-02-21  
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0  
x-ms-copy-id: 36650d67-05c9-4a24-9a7d-a2213e53caf6  
x-ms-copy-source: <url>  
x-ms-copy-status: success  
x-ms-copy-progress: 11/11  
x-ms-copy-completion-time: <date>  
  

권한 부여

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

중요

Microsoft는 관리 ID와 함께 Microsoft Entra ID 사용하여 Azure Storage에 대한 요청에 권한을 부여하는 것이 좋습니다. Microsoft Entra ID 공유 키 권한 부여에 비해 뛰어난 보안 및 사용 편의성을 제공합니다.

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

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

사용 권한

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

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

설명

페이지 blob의 경우 아직 콘텐츠를 포함하지 않거나 생성된 페이지 범위에 대해 Get Blob 작업을 수행하면 해당 바이트가 0으로 반환됩니다.

범위가 지정되지 않은 페이지 Blob에서 를 호출 Get Blob 하는 경우 서비스는 헤더에 대해 x-ms-blob-content-length 지정된 값까지 페이지 범위를 반환합니다. 콘텐츠가 없는 페이지의 경우 서비스는 해당 바이트에 대해 0을 반환합니다.

추가 Blob의 Get Blob 경우 작업은 헤더를 반환합니다 x-ms-blob-committed-block-count . 이 헤더는 Blob의 커밋된 블록 수를 나타냅니다. x-ms-blob-committed-block-count 블록 Blob 또는 페이지 Blob에 대해 헤더가 반환되지 않습니다.

Get Blob MiB당 2분 동안 작업을 완료할 수 있습니다. 작업이 MiB당 평균적으로 2분 이상 걸리는 경우 작업 시간이 초과됩니다.

전용 컨테이너에 속하는 Blob을 검색하려면 x-ms-version 헤더가 필요합니다. Blob이 전체 또는 부분 공용 액세스에 사용할 수 있는 컨테이너에 속하는 경우 모든 클라이언트는 버전을 지정하지 않고 읽을 수 있습니다. 서비스 버전은 공용 컨테이너에 속하는 Blob을 검색하는 데 필요하지 않습니다. 자세한 내용은 컨테이너 및 Blob에 대한 액세스 제한을 참조하십시오.

Get Blob 보관된 블록 Blob에 대한 작업이 실패합니다.

복사 작업

작업이 완료되었는지 여부를 Copy Blob 확인하려면 먼저 검사 대상 Blob의 헤더 값이 x-ms-copy-id 에 대한 원래 호출에서 제공한 복사 ID와 일치하는지 확인합니다Copy Blob. 일치를 통해 다른 애플리케이션이 복사본을 중단하고 새 Copy Blob 작업을 시작하지 않았는지 확인합니다. 다음으로 헤더에 대한 x-ms-copy-status: success 검사. 그러나 , Put PagePut Block 작업을 제외한 LeaseBlob의 모든 쓰기 작업은 Blob에서 모든 x-ms-copy-* 속성을 제거합니다. 이러한 속성은 2012-02-12 이전 버전의 Blob Storage를 사용하는 작업에서도 복사 Copy Blob 되지 않습니다.

경고

헤더에 x-ms-copy-source 반환되는 URL에는 원본 Blob의 복사 작업에 사용된 요청 매개 변수가 포함됩니다. SAS 토큰을 사용하여 원본 Blob에 액세스하는 경우 대상 Blob에서 x-ms-copy-source 가 호출될 때 Get Blob 해당 SAS 토큰이 헤더에 표시됩니다.

x-ms-copy-status: failed가 응답에 나타나면 x-ms-copy-status-descriptionCopy Blob 오류에 대한 자세한 정보가 포함됩니다.

모든 x-ms-copy-status-description 값의 세 필드는 다음 표에 설명되어 있습니다.

구성 요소 Description
HTTP 상태 코드 오류를 지정하는 표준 3자리 정수입니다.
오류 코드 ErrorCode> 요소에서 Azure에서 <제공하는 오류를 설명하는 키워드(keyword). <ErrorCode> 요소가 나타나지 않으면 HTTP 사양의 3자리 HTTP 상태 코드와 연결된 표준 오류 텍스트가 포함된 키워드(keyword) 사용됩니다. 일반적인 REST API 오류 코드를 참조하세요.
정보 따옴표로 묶인 오류에 대한 자세한 설명입니다.

x-ms-copy-status 일반적인 오류 시나리오의 및 x-ms-copy-status-description 값은 다음 표에 설명되어 있습니다.

중요

이 표의 오류 설명은 버전 변경 없이도 경고 없이 변경될 수 있으므로 텍스트와 정확히 일치하지 않을 수 있습니다.

시나리오 x-ms-copy-status 값 x-ms-copy-status-description 값
복사 작업이 성공적으로 완료되었습니다. 성공 비어 있음
사용자가 복사 작업이 완료되기 전에 작업을 중단했습니다. 중단됨 비어 있음
복사 작업 중 원본 blob에서 읽기를 수행할 때 오류가 발생했지만 작업이 다시 시도됩니다. 보류 중 502 잘못된 게이트웨이 "원본을 읽을 때 다시 시도 가능한 오류가 발생했습니다. 다시 시도합니다. 실패 시간: <시간>"
복사 작업의 대상 blob에 쓰는 중 오류가 발생했지만 작업이 다시 시도됩니다. 보류 중 500 InternalServerError "다시 시도 가능한 오류가 발생했습니다. 다시 시도합니다. 실패 시간: <시간>"
복사 작업의 원본 blob에서 읽기를 수행할 때 복구할 수 없는 오류가 발생했습니다. 실패 404 ResourceNotFound "원본을 읽을 때 복사가 실패했습니다."

참고: 서비스에서 이 기본 오류를 보고하면 요소가 반환됩니다 ResourceNotFoundErrorCode . ErrorCode 응답에 요소가 나타나지 않으면 HTTP 상태 표준 문자열 표현(예: NotFound)이 나타납니다.
모든 복사 작업을 제한하는 제한 시간이 경과되었습니다. (현재 제한 시간은 2주입니다.) 실패 500 OperationCancelled "복사에 허용된 최대 시간을 초과했습니다."
원본에서 읽을 때 복사 작업이 너무 자주 실패했으며 성공 시도의 최소 비율을 충족하지 못했습니다. (이 시간 제한은 실패하기 전에 2주 동안 매우 가난한 원본을 다시 시도하는 것을 방지합니다). 실패 500 OperationCancelled "원본을 읽을 때 복사가 실패했습니다."

x-ms-last-access-time 는 스토리지 계정의 마지막 액세스 시간 추적 정책에 따라 Blob의 데이터에 액세스한 시간을 추적합니다. Blob의 메타데이터에 액세스해도 마지막 액세스 시간은 변경되지 않습니다.

결제

가격 책정 요청은 Blob Storage REST API를 통해 직접 또는 Azure Storage 클라이언트 라이브러리에서 Blob Storage API를 사용하는 클라이언트에서 비롯할 수 있습니다. 이러한 요청은 트랜잭션당 요금을 발생합니다. 트랜잭션 유형은 계정 청구 방식에 영향을 줍니다. 예를 들어 읽기 트랜잭션은 쓰기 트랜잭션과 다른 청구 범주에 발생합니다. 다음 표에서는 스토리지 계정 유형에 따라 요청에 대한 Get Blob 청구 범주를 보여 줍니다.

작업 Storage 계정 유형 청구 범주
Blob 가져오기 프리미엄 블록 Blob
표준 범용 v2
표준 범용 v1
읽기 작업

지정된 청구 범주의 가격 책정에 대한 자세한 내용은 Azure Blob Storage 가격 책정을 참조하세요.

추가 정보

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