루트 컨테이너 작업

루트 컨테이너는 저장소 계정에 대한 기본 컨테이너 역할을 합니다. 저장소 계정당 하나의 루트 컨테이너를 보유할 수 있습니다. 루트 컨테이너는 명시적으로 생성되어야 하며 이름을 $root로 지정해야 합니다.

루트 컨테이너에 저장된 Blob는 루트 컨테이너 이름을 참조하지 않고 주소를 지정할 수 있으므로 저장소 계정 계층의 최상위 수준에서 Blob 주소를 정할 수 있습니다. 예를 들어 루트 컨테이너에 있는 Blob을 참조할 수 있는 방법은 다음과 같습니다.

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

루트 컨테이너 관리

저장소 계정에서 루트 컨테이너를 사용하려면 $root라는 이름의 새 컨테이너를 만듭니다. 다음 요청 예제에서 루트 컨테이너를 만드는 방법을 보여 줍니다.

Request Syntax:  
PUT https://myaccount.blob.core.windows.net/$root?restype=container HTTP/1.1  
  
Request Headers:  
x-ms-version: 2011-08-18  
x-ms-date: Sun, 25 Sep 2011 22:50:32 GMT  
x-ms-meta-Name: StorageSample  
x-ms-blob-public-access: container  
Authorization: SharedKey myaccount:Z5043vY9MesKNh0PNtksNc9nbXSSqGHueE00JdjidOQ=  

또한 더 이상 필요하지 않은 루트 컨테이너는 삭제할 수 있습니다.

다른 컨테이너와 같이 루트 컨테이너에 익명 공용 액세스를 제공할 수 있습니다. 컨테이너를 만들 때 헤더를 x-ms-blob-public-access 설정하거나 컨테이너 ACL이 이미 있는 후 Set Container ACL 을 호출하여 컨테이너를 공용으로 만들 수 있습니다. 자세한 내용은 컨테이너 및 Blob에 대한 액세스 제한 을 참조하세요.

루트 컨테이너가 있는 경우 스토리지 계정에 대해 컨테이너 나열 작업을 수행할 때 표시됩니다.

루트 컨테이너에 대해 Blob 나열 작업을 수행할 때 루트 컨테이너는 반환된 Blob에 대한 리소스 URL에 표시되지 않습니다. 다음 요청 구문에서는 루트 컨테이너에 대해 List Blobs를 호출하는 방법을 보여줍니다.

GET https://myaccount.blob.core.windows.net/$root?restype=container&comp=list HTTP/1.1  

중요

루트 컨테이너의 blob는 이름에 슬래시(/)를 포함할 수 없습니다.

다음 예에서는 루트 컨테이너를 포함하여 컨테이너 및 blob 리소스의 사용 방법을 보여줍니다.

GET 작업

저장소 계정에 컨테이너를 나열하려면:

GET https://myaccount.blob.core.windows.net/?comp=list  

컨테이너의 속성을 가져오려면:

GET/HEAD https://myaccount.blob.core.windows.net/mycontainer?restype=container  

mycontainer라는 컨테이너에 있는 blob를 나열하려면:

GET https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list  

루트 컨테이너에 있는 blob를 나열하려면:

GET https://myaccount.blob.core.windows.net/$root?restype=container&comp=list  

myfile라는 컨테이너에서 mycontainer이라는 blob를 읽으려면:

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

루트 컨테이너에서 myphoto라는 blob를 읽으려면:

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

다음과 같이 명시적으로 루트 컨테이너를 참조할 수도 있습니다.

GET https://myaccount.blob.core.windows.net/$root/myphoto  

루트 컨테이너에 있는 blob에서 blob 메타데이터를 읽으려면:

GET https://myaccount.blob.core.windows.net/myphoto?comp=metadata  

다음과 같이 명시적으로 루트 컨테이너를 참조할 수도 있습니다.

GET https://myaccount.blob.core.windows.net/$root/myphoto?comp=metadata  

참고

루트 컨테이너에서 blob를 참조할 때 마지막 슬래시(/)를 포함하지 않도록 주의하십시오. 예를 들어 다음과 같은 URL을 사용하면 상태 코드 400(잘못된 요청)이 나타납니다.

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

위 예에서 Blob 서비스는 컨테이너 이름을 myblob라고 인식하고 마지막 슬래시 다음에 blob 이름이 있을 것으로 예상합니다. 이 요청은 Blob 이름이 누락된 잘못된 형식을 사용합니다.

다음 URL은 루트 컨테이너에 있는 blob에서 수행하는 작업에 대해 유효합니다.

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

PUT 작업

mycontainer라는 컨테이너를 만들려면:

  
PUT https://myaccount.blob.core.windows.net/mycontainer?restype=container  

루트 컨테이너에서 myblob라는 blob를 만들려면:

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

다음과 같이 명시적으로 루트 컨테이너를 지정할 수도 있습니다.

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

myblob 컨테이너에서 mycontainer라는 blob를 만들려면:

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

photos/myphoto 컨테이너에서 mycontainer라는 blob를 만들려면:

PUT https://myaccount.blob.core.windows.net/mycontainer/photos/myphoto  

루트 컨테이너에 명명된 myblob Blob에서 메타데이터를 설정하려면 다음을 수행합니다.

  
PUT https://myaccount.blob.core.windows.net/myblob?comp=metadata  

DELETE 작업

mycontainer라는 컨테이너를 삭제하려면:

  
DELETE https://myaccount.blob.core.windows.net/mycontainer?restype=container  

루트 컨테이너를 삭제하려면:

  
DELETE https://myaccount.blob.core.windows.net/$root?restype=container  

루트 컨테이너에서 myblob라는 blob를 삭제하려면:

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

다음과 같이 명시적으로 루트 컨테이너를 지정할 수도 있습니다.

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

참고 항목

Blob 서비스 리소스에 대한 HTTP 작업
컨테이너, BLOB, 메타데이터 이름 명명 및 참조
Azure Storage 서비스에 대한 버전 관리