JavaScript を使用して 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 オブジェクトを作成し、次のいずれかの create メソッドを使用します。
コンテナーは、ストレージ アカウントの直下に作成されます。 コンテナーを別のコンテナーの下に入れ子にすることはできません。 同じ名前のコンテナーが既に存在する場合、例外がスローされます。
次の例では、BlobServiceClient から非同期的にコンテナーを作成します。
async function createContainer(blobServiceClient, containerName){
// anonymous access at container level
const options = {
access: 'container'
};
// creating client also creates container
const containerClient = await blobServiceClient.createContainer(containerName, options);
console.log(`container ${containerName} created`);
// do something with container
// ...
return containerClient;
}
ルート コンテナーについて
ストレージ アカウント階層の最上位レベルにある BLOB は、$root
という特定の名前のルート コンテナーで参照できます。 たとえば、"URI でコンテナー名を使用しなくても" BLOB を参照できます。
https://myaccount.blob.core.windows.net/default.html
ルート コンテナーは明示的に作成または削除する必要があります。 サービス作成の一環として既定で作成されるわけではありません。 前のセクションに示した同じコードでルートを作成できます。 コンテナーの名前は $root
です。
リソース
JavaScript 用 Azure Blob Storage クライアント ライブラリを使用したコンテナーの作成の詳細については、次のリソースを参照してください。
REST API の操作
Azure SDK for JavaScript には Azure REST API に基づいて構築されたライブラリが含まれるため、使い慣れた JavaScript パラダイムを通じて REST API 操作を利用できます。 コンテナーを作成するためのクライアント ライブラリ メソッドは、次の REST API 操作を使用します。
- コンテナーの作成 (REST API)