使用 JavaScript 或 TypeScript 列出 Blob 容器
當您從程式碼列出 Azure 儲存體中的容器時,可以指定數個選項來管理從 Azure 儲存體傳回結果的方式。 本文說明如何使用適用於 JavaScript 的 Azure 儲存體用戶端程式庫來列出容器。
必要條件
- 本文中的範例假設您已設定專案,以搭配使用適用於 JavaScript 的 Azure Blob 儲存體用戶端程式庫。 若要了解如何設定專案,包括套件安裝、匯入模組,以及建立授權的用戶端物件來處理資料資源,請參閱開始使用 Azure Blob 儲存體和 JavaScript。
- 授權機制必須具有列出 Blob 容器的權限。 若要深入了解,請參閱下列 REST API 作業的授權指引:
關於容器清單選項
從程式碼列出容器時,可以指定若干選項來管理從 Azure 儲存體傳回結果的方式。 您可指定要在每一組結果中傳回的結果數目,然後擷取後續集合。 您也可以按前置詞篩選結果,在結果中傳回容器中繼資料。 下列各節描述這些選項。
若要列出記憶體帳戶中的容器,請呼叫下列方法:
這個方法會傳回 ContainerItem 物件清單。 容器會依名稱按字典順序排序。
管理傳回的結果數目
根據預設,列出作業一次最多會傳回 5000 個結果,但您可以指定要讓每個列出作業傳回的結果數目。 本文中顯示的範例會說明如何在頁面中傳回結果。
使用前置詞篩選結果
若要篩選容器清單,請在 ServiceListContainersOptions 中指定 prefix
參數的字串。 前置詞字串可包含一或多個字元。 Azure 儲存體接著只會傳回名稱開頭為該前置詞的容器。
包含容器中繼資料
若要在結果中包含容器元數據,請將 ServiceListContainersOptions 中的 參數設定includeMetadata
為 true
。 Azure 儲存體包含中繼資料與每個傳回的容器,因此您無須個別擷取容器中繼資料。
包含已刪除的容器
若要在結果中包含虛刪除的容器,請在 ServiceListContainersOptions 中設定 includeDeleted
參數。
程式碼範例:列出容器
下列範例會以非同步方式列出儲存體帳戶中以指定首碼開頭的容器。 此範例會列出以指定的首碼開頭的容器,並傳回每次呼叫清單作業的指定結果數目。 然後會使用接續權杖來取得下一個結果區段。 此範例也會傳回包含結果的容器中繼資料。
async function listContainers(blobServiceClient, containerNamePrefix) {
const options = {
includeDeleted: false,
includeMetadata: true,
includeSystem: true,
prefix: containerNamePrefix
}
console.log("Containers (by page):");
for await (const response of blobServiceClient.listContainers(options).byPage({
maxPageSize: 20,
})) {
console.log("- Page:");
if (response.containerItems) {
for (const container of response.containerItems) {
console.log(` - ${container.name}`);
}
}
}
}
資源
若要深入了解如何使用適用於 JavaScript 的 Azure Blob 儲存體用戶端程式庫來列出容器,請參閱下列資源。
REST API 操作
適用於 JavaScript 的 Azure SDK 包含建置在 Azure REST API 之上的程式庫,可讓您透過熟悉的 JavaScript 範例與 REST API 作業進行互動。 用來列出容器的用戶端程式庫方法會使用下列 REST API 作業:
- 列出容器 (REST API)
程式碼範例
- 檢視本文中的 JavaScript 和 TypeScript 程式代碼範例 (GitHub)