导出 (0) 打印
全部展开

处理根容器 (REST API)

更新时间: 2013年11月

根容器将用作存储帐户的默认容器。存储帐户可具有一个根容器。必须显式创建根容器并将其命名为 $root

可在不引用根容器名称的情况下对存储在根容器中的 Blob 进行寻址,这样一来,便能在存储帐户层次结构的顶部对 Blob 进行寻址。例如,您现在可以通过以下方式引用驻留在根容器中的 Blob:

shttps://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 (REST API)。有关更多信息,请参见限制对容器和 Blob 的访问

如果根容器存在,在针对存储帐户执行列出容器 (REST API)操作时,将显示该容器。

在针对根容器执行列出 Blob (REST API) 操作时,在返回的 Blob 的资源 URL 中不会显示根容器。以下请求语法说明了如何针对根容器调用List Blobs

GET https://myaccount.blob.core.windows.net/$root?restype=container&comp=list HTTP/1.1
Important重要提示
根容器中的 Blob 不能在名称中包含正斜杠 (/)。

以下示例说明了如何处理容器和 Blob 资源,包括根容器:

要列出存储帐户中的容器,请执行以下命令:

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

要从名为 mycontainer 的容器中读取名为 myfile 的 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 现在将导致返回状态代码 400(错误的请求):

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

在上面的示例中,Blob 服务将容器名称读取为 myblob,并且尾随斜杠后面应包含 Blob 名称。由于缺少 Blob 名称,请求的格式出错。

以下 URL 对根容器中的 Blob 上的操作有效:

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

要创建名为 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

要在名为 mycontainer 的容器中创建名为 myblob 的 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

要删除名为 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

另请参阅

显示:
© 2014 Microsoft