.NET を使用して Azure Cosmos DB for NoSQL にコンテナーを作成する
適用対象: NoSQL
Azure Cosmos DB のコンテナーは、項目のセットを格納します。 アイテムを作成、クエリ、または管理するには、まずコンテナーを作成する必要があります。
コンテナーの名前を指定する
Azure Cosmos DB では、コンテナーはリレーショナル データベース内のテーブルに似ています。 コンテナーを作成すると、コンテナー名によって、コンテナー リソースと子項目へのアクセスに使用される URI のセグメントが形成されます。
コンテナーに名前を付ける場合の簡単な規則を次に示します。
- コンテナー名を空にしてはなりません。
- コンテナー名を 256 文字より長くすることはできません。
作成されると、コンテナーの URI の形式は次のとおりです。
https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>/colls/<container-name>
ヒント
コンテナー名の制限について詳しくは、「サービスのクォータと制限」を参照してください。
コンテナーを作成する
コンテナーを作成するには、次のいずれかのメソッドを呼び出します。
コンテナーを非同期的に作成する
次の例では、コンテナーが非同期的に作成されます。
// New instance of Container class referencing the server-side container
Container container1 = await database.CreateContainerAsync(
id: "products-1",
partitionKeyPath: "/category",
throughput: 400
);
Database.CreateContainerAsync
メソッドは、同じ名前のデータベースが既に存在する場合、例外をスローします。
コンテナがまだ存在しない場合は、非同期で作成します
次の例では、コンテナーがアカウントにまだ存在しない場合にのみ、非同期的にコンテナーを作成します。
// New instance of Container class referencing the server-side container
Container container2 = await database.CreateContainerIfNotExistsAsync(
id: "products-2",
partitionKeyPath: "/category",
throughput: 400
);
Database.CreateContainerIfNotExistsAsync
メソッドは、まだ存在しない場合にのみ、新しいコンテナーを作成します。 このメソッドは、同じコードを複数回実行する場合にエラーを回避するのに役立ちます。
応答の解析
これまでのすべての例では、非同期要求からの応答はすぐに Container
型にキャストされました。 ヘッダーや HTTP 状態コードを含む応答に関するメタデータを解析することもできます。 Database.CreateContainerAsync メソッドと Database.CreateContainerIfNotExistsAsync メソッドの真の戻り値の型は次ContainerResponse
のとおりです。
次の例は、ContainerResponse を返す Database.CreateContainerIfNotExistsAsync メソッドを示しています。 返されたら、応答プロパティを解析し、最終的に基になる Container オブジェクトを取得できます。
// New instance of Container class referencing the server-side container
ContainerResponse response = await database.CreateContainerIfNotExistsAsync(
id: "products-3",
partitionKeyPath: "/category",
throughput: 400
);
// Parse additional response properties
Container container3 = response.Container;
次のステップ
コンテナーを作成したので、次のガイドを使用し項目を作成します。