ルート コンテナーの操作

ルート コンテナーは、ストレージ アカウントの既定のコンテナーとして機能します。 ストレージ アカウントにはルート コンテナーを 1 つ作成できます。 ルート コンテナーは明示的に作成し、$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 設定するか、コンテナーが既に存在した後で 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  

Note

ルート コンテナー内の BLOB を参照する際は、末尾にスラッシュ (/) を含めないように注意してください。 たとえば、次のような URL を指定すると、ステータス コード (Bad Request) が返されます。

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 サービスのバージョン管理