你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用根容器
根容器充当存储帐户的默认容器。 存储帐户可具有一个根容器。 必须显式创建根容器并将其命名为 $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
注意
在引用根容器中的 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
要从根容器中删除 Blob myblob
,请执行以下命令:
DELETE https://myaccount.blob.core.windows.net/myblob
也可以显式指定根容器:
DELETE https://myaccount.blob.core.windows.net/$root/myblob