使用根容器
根容器會做為儲存體帳戶的預設容器。 儲存體帳戶可能會有一個根容器。 根容器必須明確建立,並且必須命名為 $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 ,讓容器成為公用容器。 如需詳細資訊,請參閱 限制對容器和 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 名稱而造成要求格式不正確。
在根容器中的 Blob 上執行作業時,下列 URL 是有效的:
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
另請參閱
Blob 服務資源上的 HTTP 作業
命名和參考容器、Blob 及中繼資料
Azure 儲存體服務的版本設定 \(英文\)