.NET を使用して Azure Cosmos DB for NoSQL にデータベースを作成する

適用対象: 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;

次のステップ

データベースを作成したので、次のガイドを使用してコンテナーを作成します。