JavaScript または TypeScript を使用して BLOB コンテナーを作成する
Azure Storage 内の BLOB はコンテナーにまとめられます。 BLOB をアップロードする前には、まずコンテナーを作成する必要があります。 この記事では、JavaScript 用の Azure Storage クライアント ライブラリを使ってコンテナーを作成する方法について説明します。
前提条件
- この記事の例では、JavaScript 用の Azure Blob Storage クライアント ライブラリを操作するように設定されたプロジェクトが、既にあることを前提としています。 パッケージのインストール、モジュールのインポート、データ ソースの操作が認可されたクライアント オブジェクトの作成を含むプロジェクトの設定については、「Azure Blob Storage と JavaScript の使用開始」を参照してください。
- 認可メカニズムには、BLOB コンテナーを作成するためのアクセス許可が必要です。 詳細については、次の REST API 操作の認可ガイダンスを参照してください。
コンテナーの名前付けについて
コンテナー名は、コンテナーまたはその BLOB をアドレス指定するために使用される一意の URI の一部になるため、有効な DNS 名である必要があります。 コンテナーに名前を付けるときは、次の規則に従います。
- コンテナー名の長さは 3 ~ 63 文字にする必要があります。
- コンテナー名は英文字または数字で始まり、英小文字、数字、ダッシュ (-) 文字のみを含めることができます。
- 連続するダッシュ文字は、コンテナー名には使用できません。
コンテナー リソースの URI は、次のように書式設定されます。
https://my-account-name.blob.core.windows.net/my-container-name
コンテナーを作成する
コンテナーを作成するには、BlobServiceClient クラスから次のメソッドを呼び出します。
また、ContainerClient クラスの次のいずれかのメソッドを使用してコンテナーを作成することもできます。
コンテナーは、ストレージ アカウントの直下に作成されます。 コンテナーを別のコンテナーの下に入れ子にすることはできません。 同じ名前のコンテナーが既に存在する場合、例外がスローされます。
次の例では、BlobServiceClient
オブジェクトからコンテナーを非同期に作成します。
async function createContainer(blobServiceClient, containerName){
const containerClient = await blobServiceClient.createContainer(containerName);
return containerClient;
}
ルート コンテナーを作成する
ルート コンテナーは、ストレージ アカウントの既定のコンテナーとして機能します。 各ストレージ アカウントには、$root. という名前のルート コンテナーを 1 つ含めることができます。 ルート コンテナーは明示的に作成または削除する必要があります。
ルート コンテナーに格納されている BLOB は、ルート コンテナー名を指定せずに参照できます。 ルート コンテナーを使用すると、ストレージ アカウント階層の最上位レベルにある BLOB を参照できます。 たとえば、ルート コンテナー内の BLOB は、次の方法で参照できます。
https://accountname.blob.core.windows.net/default.html
ルート コンテナーを作成するには、任意の create メソッドを呼び出し、コンテナー名を $root として指定します。
リソース
JavaScript 用 Azure Blob Storage クライアント ライブラリを使用したコンテナーの作成の詳細については、次のリソースを参照してください。
コード サンプル
- こちらの記事 (GitHub) の JavaScript および TypeScript のコード サンプルを参照してください
REST API の操作
Azure SDK for JavaScript には Azure REST API に基づいて構築されたライブラリが含まれるため、使い慣れた JavaScript パラダイムを通じて REST API 操作を利用できます。 コンテナーを作成するためのクライアント ライブラリ メソッドは、次の REST API 操作を使用します。
- コンテナーの作成 (REST API)
クライアント ライブラリのリソース
関連するコンテンツ
- この記事は、JavaScript/Typescript の Blob Storage 開発者ガイドの一部です。 詳細については、JavaScript/Typescript アプリの構築に関するセクションにある開発者ガイド記事の完全な一覧を参照してください。