使用 TypeScript 建立 Blob 容器
Azure 儲存體中的 Blob 會組織成容器。 在您可以上傳 Blob 之前,您必須先建立一個容器。 本文說明如何使用適用於 JavaScript 的 Azure 儲存體用戶端程式庫來建立容器。
必要條件
- 本文中的範例假設您已有設定好要搭配適用於 JavaScript 的 Azure Blob 儲存體用戶端程式庫使用的專案。 若要了解如何設定專案,包括套件安裝、匯入模組,以及建立授權的用戶端物件來處理資料資源,請參閱開始使用 Azure Blob 儲存體和 TypeScript。
- 授權機制必須具有建立 Blob 容器的權限。 若要深入了解,請參閱下列 REST API 作業的授權指導:
關於容器命名
容器名稱必須是有效的 DNS 名稱,因為它會形成用來定址容器或其 blob 的唯一 URI 的一部分。 命名容器時,請遵循下列規則:
- 容器名稱長度可介於 3 到 63 個字元之間。
- 容器名稱必須以字母或數字開頭,而且只能包含小寫字母、數字和虛線 (-) 字元。
- 容器名稱中不允許連續的虛線字元。
容器資源的 URI 格式如下:
https://my-account-name.blob.core.windows.net/my-container-name
建立容器
若要建立容器,請建立 BlobServiceClient 物件或 ContainerClient 物件,然後使用下列其中一個 create 方法:
容器會在儲存體帳戶下方直接建立。 您無法將某個容器巢於另一個容器下方。 如果已經有相同名稱的容器存在,則會擲回例外狀況。
下列範例會從 BlobServiceClient 以非同步方式建立容器:
async function createContainer(
blobServiceClient: BlobServiceClient,
containerName: string
): Promise<ContainerClient> {
// public access at container level
const options: ContainerCreateOptions = {
access: 'container'
};
// creating client also creates container
const {
containerClient,
containerCreateResponse
}: {
containerClient: ContainerClient;
containerCreateResponse: ContainerCreateResponse;
} = await blobServiceClient.createContainer(containerName, options);
if (containerCreateResponse.errorCode)
throw Error(containerCreateResponse.errorCode);
console.log(`container ${containerName} created`);
// do something with container
// ...
// containerClient.listBlobsFlat({ includeMetadata: true,
// includeSnapshots: false,
// includeTags: true,
// includeVersions: false,
// prefix: ''});
return containerClient;
}
了解根容器
具有特定名稱 $root
的根容器可讓您參考儲存體帳戶階層最上層的 blob。 例如,您無須在 URI 中使用容器名稱即可參考 Blob:
https://myaccount.blob.core.windows.net/default.html
根容器必須明確建立或刪除。 其預設不會建立做為服務建立的一部分。 上一節中顯示的相同程式碼可以建立根目錄。 容器名稱為 $root
。
資源
若要深入了解如何使用適用於 JavaScript 的 Azure Blob 儲存體用戶端程式庫建立容器,請參閱下列資源。
REST API 操作
適用於 JavaScript 的 Azure SDK 包含建置在 Azure REST API 之上的程式庫,可讓您透過熟悉的 JavaScript 範例與 REST API 作業進行互動。 用來建立容器的用戶端程式庫方法會使用下列 REST API 作業:
- 建立容器 (REST API)