TypeScript を使って BLOB コンテナーを作成する
Azure Storage 内の BLOB はコンテナーにまとめられます。 BLOB をアップロードする前には、まずコンテナーを作成する必要があります。 この記事では、JavaScript 用の Azure Storage クライアント ライブラリを使ってコンテナーを作成する方法について説明します。
前提条件
- この記事の例では、JavaScript 用の Azure Blob Storage クライアント ライブラリを操作するための設定が済んだプロジェクトが、既にあることを前提としています。 パッケージのインストール、モジュールのインポート、データ ソースを操作するために認可されたクライアント オブジェクトの作成など、プロジェクトの設定については、「Azure Blob Storage と TypeScript の概要」を参照してください。
- 認可メカニズムには、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: 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;
}
ルート コンテナーについて
ストレージ アカウント階層の最上位レベルにある 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)