내보내기(0) 인쇄
모두 확장

컨테이너와 Blob, 메타데이터의 이름 지정 및 참조

업데이트 날짜: 2014년 11월

이 항목에서는 컨테이너, Blob, 메타데이터 및 스냅숏의 명명 및 참조에 대해 설명합니다. 저장소 계정은 0개 이상의 컨테이너를 포함할 수 있습니다. 컨테이너에는 속성, 메타데이터 및 0개 이상의 Blob가 포함됩니다. Blob는 이진 데이터, 속성 및 메타데이터로 구성된 단일 엔터티입니다.

컨테이너 또는 Blob를 참조하는 URI는 고유해야 합니다. 계정 이름이 고유하기 때문에 두 계정에서 동일한 이름의 컨테이너를 가질 수 있습니다. 그러나 한 저장소 계정 내 모든 컨테이너는 고유한 이름을 가져야 합니다. 특정 컨테이너 내 모든 Blob 또한 해당 컨테이너 내에서 고유한 이름을 가져야 합니다.

명명 규칙을 위반하는 이름으로 컨테이너 또는 Blob를 만들 경우 상태 코드 400(잘못된 요청)의 오류가 발생합니다.

Important중요
Blob 및 컨테이너 이름은 URL 내에서 Blob 서비스에 전달됩니다. 특정 문자는 UTF-8(선호) 또는 MBCS 방식에 따라 % 인코딩되어 URL에 표시되어야 합니다. 이 인코딩은 Windows Azure .NET 라이브러리를 사용하거나 Blob 또는 컨테이너 이름을 포함하는 Uri 개체를 구성할 때 자동으로 수행됩니다. 그러나 인코딩되어도 URL 경로에서 유효하지 않은 특정 문자가 있습니다. 이러한 문자는 Blob 또는 컨테이너 이름에 사용할 수 없습니다. \UE000과 같은 코드 포인트는 NTFS 파일 이름에서는 유효하지만 유효한 유니코드 문자가 아니므로 사용할 수 없습니다. 제어 문자(0x00 ~ 0x1F, \u0081 등)와 같은 일부 ASCII 또는 유니코드 문자 또한 허용되지 않습니다. HTTP/1.1에서 유니코드 문자열에 적용되는 규칙은 다음을 참조하십시오.

컨테이너 이름이 다음 명명 규칙에 따라 유효한 DNS 이름이어야 합니다.

  1. 컨테이너 이름은 문자 또는 숫자로 시작해야 하며 문자, 숫자 및 대시(-) 문자만 포함할 수 있습니다.

  2. 컨테이너 이름에서 연속 대시는 사용할 수 없으며, 모든 대시(-) 문자 앞뒤에는 숫자 또는 문자가 있어야 합니다.

  3. 컨테이너 이름의 모든 문자는 소문자여야 합니다.

  4. 컨테이너 이름의 길이는 3자 이상, 63자 이하여야 합니다.

Blob 이름에는 모든 문자 조합을 포함할 수 있지만 예약된 URL 문자는 올바르게 이스케이프 처리해야 합니다. Blob 이름의 길이는 1자 이상에서 최대 1,024자까지 가능하며, 대/소문자를 구분합니다.

note참고
Blob 이름이 점(.), 슬래시(/) 또는 이 둘의 조합으로 끝나지 않아야 합니다.

Blob 서비스는 계층 구조 스키마가 아닌 플랫 저장소 스키마에 기반합니다. 그러나 Blob 이름 내에서 한 문자 또는 문자열의 구분 기호를 지정하여 가상 계층을 만들 수 있습니다. 다음 목록에 유효하고 고유한 Blob 이름의 예가 나와 있습니다. 동일 컨테이너에서 하나의 문자열이 동시에 유효한 Blob 이름 및 가상 디렉터리 이름이 될 수 있습니다.

  • /a

  • /a.txt

  • /a/b

  • /a/b.txt

Blob를 열거할 때 구분 기호 문자를 사용할 수 있습니다.

컨테이너 또는 Blob 리소스의 메타데이터는 리소스와 연결된 이름과 값의 쌍으로 저장됩니다. 메타데이터 이름은 C# 식별자에 대한 명명 규칙을 따라야 합니다.

메타데이터를 만들 때는 이름에서 대/소문자를 구분하지만 설정하거나 읽을 때에는 대/소문자를 구분하지 않습니다. 리소스에 대해 동일한 이름의 메타데이터 헤더가 두 개 이상 제출될 경우 Blob 서비스는 상태 코드 400(잘못된 요청)을 반환합니다.

각 리소스에 해당하는 기본 URL을 통해 리소스를 참조하게 됩니다.

저장소 계정의 경우 기본 URI에 계정의 이름만 포함됩니다.

https://myaccount.blob.core.windows.net

컨테이너의 기본 URI에는 계정 이름과 컨테이너 이름이 포함됩니다.

https://myaccount.blob.core.windows.net/mycontainer

Blob의 기본 URI에는 계정 이름과 컨테이너 이름, Blob의 이름이 포함됩니다.

https://myaccount.blob.core.windows.net/mycontainer/myblob

저장소 계정은 URI에서 생략할 수 있는 기본 컨테이너인 루트 컨테이너를 포함할 수 있습니다. 루트 컨테이너의 Blob는 컨테이너 이름 없이 참조하거나, 이름에 루트 컨테이너임을 명시적으로 표시할 수 있습니다($root). 자세한 내용은 루트 컨테이너 작업(REST API)를 참조하십시오. 다음 URI는 모두 루트 컨테이너의 Blob를 참조합니다.


https://myaccount.blob.core.windows.net/myblob
https://myaccount.blob.core.windows.net/$root/myblob

스냅숏은 스냅숏이 생성될 당시에 저장된 Blob의 읽기 전용 버전입니다. 스냅숏을 사용하여 Blob의 백업 또는 검사점을 만들 수 있습니다. 스냅숏 Blob 이름에는 기본 Blob URI와 함께 스냅숏이 생성된 날짜와 시간을 나타내는 값이 포함됩니다.

다음과 같은 URI의 Blob를 가정해 보겠습니다.

https://myaccount.blob.core.windows.net/mycontainer/myblob

이 Blob의 스냅숏 URI는 다음과 같습니다.

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

BlobListingDetailsSnapshots로 설정하여 ListBlobs를 호출하면 .NET 클라이언트 라이브러리가 CloudBlob 개체로 스냅숏을 나열합니다.

참고 항목

표시:
© 2014 Microsoft