JavaScript または TypeScript を使用して BLOB コンテナーを一覧表示する
Azure Storage アカウント内のコンテナーをコードから一覧表示する際には、Azure Storage からの結果の取得方法を管理するためのオプションをいくつか指定できます。 この記事では、JavaScript 用の Azure Storage クライアント ライブラリを使用してコンテナーを一覧表示する方法について説明します。
前提条件
- この記事の例では、JavaScript 用の Azure Blob Storage クライアント ライブラリを操作するように設定されたプロジェクトが、既にあることを前提としています。 パッケージのインストール、モジュールのインポート、データ リソースの操作が認可されたクライアント オブジェクトの作成など、プロジェクトの設定については、「Azure Blob Storage および JavaScript の概要」を参照してください。
- 認可メカニズム には、BLOB コンテナーを一覧表示するためのアクセス許可が必要です。 詳細については、次の REST API 操作の認可ガイダンスを参照してください。
コンテナーの一覧表示のオプションについて
コードからコンテナーを一覧表示する際に、Azure Storage から結果を返す方法を管理するためのオプションを指定できます。 各結果セットで返す結果の数を指定し、後続のセットを取得できます。 プレフィックスで結果をフィルター処理したり、結果を含むコンテナー メタデータを返したりすることもできます。 以降のセクションでは、これらのオプションについて説明します。
ストレージ アカウント内のコンテナーを一覧表示するには、次のメソッドを呼び出します。
このメソッドは、ContainerItem オブジェクトの一覧を返します。 コンテナーは、名前によって辞書順に並べ替えられます。
返される結果の数を管理する
既定では、一覧表示操作から一度に最大 5,000 件の結果が返されますが、各一覧表示操作で返される結果の数は指定できます。 この記事の例は、結果をページに返す方法を示しています。
プレフィックスを使用して結果をフィルター処理する
コンテナーの一覧をフィルター処理するには、ServiceListContainersOptions で prefix
パラメーターの文字列を指定します。 プレフィックス文字列には、1 つ以上の文字を含めることができます。 Azure Storage は、名前がそのプレフィックスで始まるコンテナーだけを返します。
コンテナー メタデータを含める
結果にコンテナー メタデータを含めるには、includeMetadata
パラメーターを ServiceListContainersOptions で true
に設定します。 Azure Storage では、返される各コンテナーにメタデータが含まれているため、コンテナーのメタデータを個別にフェッチする必要はありません。
削除されたコンテナーを含める
論理的に削除されたコンテナーを結果と共に含めるには、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 Storage クライアント ライブラリを使用したコンテナーの一覧表示の詳細については、次のリソースを参照してください。
REST API の操作
Azure SDK for JavaScript には Azure REST API に基づいて構築されたライブラリが含まれるため、使い慣れた JavaScript パラダイムを通じて REST API 操作を利用できます。 コンテナーを一覧表示するためのクライアント ライブラリ メソッドでは、次の REST API 操作が使用されます。
- コンテナーの一覧表示 (REST API)
コード サンプル
- この記事で JavaScript および TypeScript のコード サンプルを確認する (GitHub)