JavaScript を使用してコンテナーのプロパティとメタデータを管理する
BLOB コンテナーは、そこに含まれているデータに加えて、システム プロパティとユーザー定義メタデータをサポートしています。 この記事では、JavaScript 用 Azure Storage クライアント ライブラリを使用して、システム プロパティとユーザー定義メタデータを管理する方法について説明します。
前提条件
- この記事の例では、JavaScript 用の Azure Blob Storage クライアント ライブラリを操作するように設定されたプロジェクトが、既にあることを前提としています。 パッケージのインストール、モジュールのインポート、データ リソースの操作が認可されたクライアント オブジェクトの作成など、プロジェクトの設定については、「Azure Blob Storage および JavaScript の概要」を参照してください。
- 認可メカニズムには、コンテナーのプロパティまたはメタデータを操作するための権限が必要です。 詳細については、次の REST API 操作の認可ガイダンスを参照してください。
プロパティとメタデータについて
システムのプロパティ:システム プロパティは、各 BLOB ストレージ リソース上に存在します。 このようなプロパティには、読み取りまたは設定可能なものもありますが、読み取り専用のものもあります。 実際には、システムのプロパティの一部は、特定の標準 HTTP ヘッダーに対応しています。 JavaScript 用 Azure Storage クライアント ライブラリでは、これらのプロパティがユーザーに代わって保持されます。
ユーザー定義のメタデータ: ユーザー定義メタデータは、BLOB ストレージ リソースに対して指定された 1 つ以上の名前と値のペアで構成されます。 メタデータを使用すると、リソースに関する追加の値を格納できます。 メタデータ値は独自の目的にのみ使用され、リソースの動作には影響しません。
メタデータ名/値ペアは有効な HTTP ヘッダーであり、HTTP ヘッダーに適用されるすべての制約に準拠する必要があります。 メタデータの名前付けの要件について詳しくは、「メタデータ名」をご覧ください。
コンテナーのプロパティを取得する
コンテナーのプロパティを取得するには、ContainerClient オブジェクトを作成してから、次のメソッドを使用します。
- ContainerClient.getProperties (ContainerProperties を返す)
次のコード例では、コンテナーのプロパティをフェッチし、そのプロパティの値をコンソール ウィンドウに書き込みます。
async function getContainerProperties(containerClient) {
// Get Properties including existing metadata
const containerProperties = await containerClient.getProperties();
if(!containerProperties.errorCode){
console.log(containerProperties);
}
}
メタデータを設定および取得する
メタデータは、コンテナー リソースの名前と値のペアとして指定できます。 メタデータを設定するには、ContainerClient オブジェクトを作成してから、次のメソッドを使用します。
- ContainerClient.setMetadata
次のコード例では、コンテナーでメタデータを設定します。
/*
const metadata = {
// values must be strings
lastFileReview: currentDate.toString(),
reviewer: `johnh`
}
*/
async function setContainerMetadata(containerClient, metadata) {
await containerClient.setMetadata(metadata);
}
メタデータを取得するには、コンテナーのプロパティを取得した後、返された metadata プロパティを使用します。
リソース
JavaScript 用 Azure Blob Storage クライアント ライブラリを使用してコンテナーのプロパティとメタデータを設定および取得する方法の詳細については、次のリソースを参照してください。
REST API の操作
Azure SDK for JavaScript には Azure REST API に基づいて構築されたライブラリが含まれるため、使い慣れた JavaScript パラダイムを通じて REST API 操作を利用できます。 プロパティとメタデータを設定および取得するためのクライアント ライブラリ メソッドでは、次の REST API 操作が使用されます。
- Get Container Properties (REST API)
- Set Container Metadata (REST API)
- Get Container Metadata (REST API)
getProperties
メソッドは、Get Blob Properties 操作と Get Blob Metadata 操作の両方を呼び出すことによって、コンテナーのプロパティとメタデータを取得します。