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