建立容器

Create Container 作業可在指定帳戶下建立新容器。 如果相同名稱的容器已經存在,作業會失敗。

容器資源包含該容器的中繼資料和屬性。 它不包含容器中的 Blob 清單。

要求

您可以建構要求, Create Container 如下所示。 建議您使用 HTTPS。 容器的名稱只能包含小寫字元,而且必須遵循 這些命名規則。 在 URL 中,以記憶體帳戶的名稱取代 myaccount

方法 要求 URI HTTP 版本
PUT https://myaccount.blob.core.windows.net/mycontainer?restype=container HTTP/1.1

模擬記憶體服務要求

當您對仿真的記憶體服務提出要求時,請將模擬器主機名和 Blob 記憶體埠指定為 127.0.0.1:10000,後面接著仿真的記憶體帳戶名稱。

方法 要求 URI HTTP 版本
PUT http://127.0.0.1:10000/devstoreaccount1/mycontainer?restype=container HTTP/1.1

如需詳細資訊,請參閱使用 Azure 模擬器進行本機 Azure 儲存體開發

URI 參數

您可以在要求 URI 上指定下列其他參數。

參數 描述
timeout 選擇性。 timeout 參數以秒為單位。 如需詳細資訊,請參閱 設定 Blob 記憶體作業的逾時

要求標頭

下表說明必要的和選擇性要求標頭:

要求標頭 描述
Authorization 必要。 指定授權配置、帳戶名稱和簽章。 如需詳細資訊,請參閱授權對 Azure 儲存體提出要求
Datex-ms-date 必要。 指定要求的國際標準時間 (UTC)。 如需詳細資訊,請參閱授權對 Azure 儲存體提出要求
x-ms-version 所有授權要求都需要。 指定用於這個要求的作業版本。 如需詳細資訊,請參閱 Azure 儲存體服務的版本
x-ms-meta-name:value 選擇性。 做為中繼資料並與容器相關聯的名稱/值組。 注意:自 2009-09-19 版起,元數據名稱必須遵守 C# 識別碼的命名規則。
x-ms-blob-public-access 選擇性。 指定是否可以公開存取容器中的數據和存取層級。 可能的值包括:

- container:指定容器和 Blob 數據的完整公用讀取許可權。 用戶端可以透過匿名要求列舉容器內的 Blob,但無法列舉記憶體帳戶內的容器。
- blob: 指定 Blob 的公用讀取許可權。 此容器內的 Blob 資料可以透過匿名要求讀取,但無法使用容器數據。 客戶端無法透過匿名要求列舉容器內的 Blob。

如果此標頭未包含在要求中,容器數據會是帳戶擁有者的私人。
x-ms-client-request-id 選擇性。 提供客戶端產生的不透明值,其中包含 1-kibibyte (KiB) 設定記錄時記錄在記錄中的字元限制。 強烈建議您使用此標頭,將用戶端活動與伺服器收到的要求相互關聯。 如需詳細資訊,請參閱監視 Azure Blob 儲存體

要求標頭 (加密範圍)

從 2019-02-02 版開始,您可以在要求上指定下列標頭,在容器上設定預設加密範圍。 如果您設定加密範圍,它會自動用來加密上傳至容器的所有 Blob。

要求標頭 描述
x-ms-default-encryption-scope 必要。 要設定為容器上預設值的加密範圍。
x-ms-deny-encryption-scope-override 必要。 true值為 或 false。 將此標頭設定為 true 確保上傳至此容器的每個 Blob 都會使用預設加密範圍。 當此標頭為 false時,用戶端可以上傳具有預設範圍以外的加密範圍的 Blob。

要求本文

無。

範例要求

Request Syntax:  
PUT https://myaccount.blob.core.windows.net/mycontainer?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  
Authorization: SharedKey myaccount:Z5043vY9MesKNh0PNtksNc9nbXSSqGHueE00JdjidOQ=  

回應

回應包括 HTTP 狀態碼和一組回應標頭。

狀態碼

成功的作業會傳回狀態碼「201 (已建立)」。

如需狀態代碼的相關信息,請參閱 狀態和錯誤碼

回應標頭

此作業的回應包括下表所述的標頭。 回應也可能包括其他標準 HTTP 標頭。 所有標準標頭都符合 HTTP/1.1 通訊協議規格

回應標頭 描述
ETag 容器的 ETag。 如果要求版本是 2011-08-18 或更新版本,ETag 值會以引號括住。
Last-Modified 傳回上次修改容器的日期和時間。 日期格式會依照 RFC 1123。 如需詳細資訊,請參閱 標頭中的日期/時間值的表示

修改容器或其屬性或中繼資料的任何作業,都會更新上次修改時間。 對 Blob 執行作業不會影響上次修改容器的時間。
x-ms-request-id 可唯一識別所提出的要求。 您可以使用它對要求進行疑難解答。 如需詳細資訊,請參閱 針對 API 作業進行疑難解答
x-ms-version 指出用來執行要求的 Blob 記憶體版本。 針對針對 2009-09-19 版或更新版本提出的要求,會傳回此標頭。
Date 服務所產生的 UTC 日期/時間值,表示起始響應的時間。
x-ms-client-request-id 可用來針對要求和對應的回應進行疑難解答。 如果此標頭存在於要求中,這個標頭的值會等於標頭的值 x-ms-client-request-id ,而且值不包含超過 1024 個可見的 ASCII 字元。 x-ms-client-request-id如果要求中沒有標頭,則標頭不會出現在回應中。

回應本文

無。

範例回應

Response status:  
HTTP/1.1 201 Created  
  
Response headers:  
Transfer-Encoding: chunked  
Date: Sun, 25 Sep 2011 23:00:12 GMT  
ETag: “0x8CB14C3E29B7E82”  
Last-Modified: Sun, 25 Sep 2011 23:00:06 GMT  
x-ms-version: 2011-08-18  
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0  

授權

在 Azure 記憶體中呼叫任何數據存取作業時,需要授權。 您可以授權 Create Container 作業,如下所示。

Azure 記憶體支援使用 Microsoft Entra ID 來授權 Blob 數據的要求。 使用 Microsoft Entra ID,您可以使用 Azure 角色型存取控制 (Azure RBAC) ,將許可權授與安全性主體。 安全性主體可能是使用者、群組、應用程式服務主體或 Azure 受控識別。 安全性主體是由 Microsoft Entra ID 驗證,以傳回 OAuth 2.0 令牌。 權杖接著可以用來授權對 Blob 服務的要求。

若要深入瞭解使用 Microsoft Entra ID 授權,請參閱使用 Microsoft Entra ID 授權 Blob 的存取權。

權限

以下是 Microsoft Entra 使用者、群組或服務主體呼叫Create Container作業所需的 RBAC 動作,以及包含此動作的最低特殊許可權 Azure RBAC 角色:

若要深入瞭解如何使用 Azure RBAC 指派角色,請參閱 指派 Azure 角色以存取 Blob 數據

備註

容器會在記憶體帳戶內立即建立。 您無法在另一個容器內巢狀。

您可以選擇為儲存體帳戶建立預設容器或根容器。 根容器可參考儲存體帳戶階層最上層的 Blob,而不需要參考容器名稱。

若要將根容器加入至儲存體帳戶,請建立名為 $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  
Authorization: SharedKey myaccount:Z5043vY9MesKNh0PNtksNc9nbXSSqGHueE00JdjidOQ=  

您可以在建立容器時指定容器的元數據,方法是在要求上加入一或多個元數據標頭。 中繼資料標頭的格式為 x-ms-meta-name:value

如果在呼叫 時 Create Container 刪除同名的容器,伺服器會傳回狀態代碼 409 (Conflict) ,並提供其他錯誤資訊,指出正在刪除容器。

計費

定價要求可能源自使用 Blob 記憶體 API 的用戶端,無論是直接透過 Blob 記憶體 REST API,還是來自 Azure 記憶體用戶端連結庫。 這些要求會累算每個交易的費用。 交易類型會影響帳戶的收費方式。 例如,讀取交易會累算到與寫入交易不同的計費類別。 下表顯示根據記憶體帳戶類型的要求計費類別 Create Container

作業 儲存體帳戶類型 計費類別
建立容器 進階區塊 Blob
標準一般用途 v2
標準一般用途 v1
列出和建立容器作業

若要瞭解指定計費類別的定價,請參閱 Azure Blob 儲存體 定價

另請參閱

授權對 Azure 記憶體的要求
狀態和錯誤碼
Blob 記憶體錯誤碼
名稱和參考容器、Blob 和元數據
設定及擷取 Blob 資源的屬性和元數據
Set Container ACL (設定容器 ACL)