Tworzenie bazy danych w usłudze Azure Cosmos DB for NoSQL przy użyciu platformy .NET

DOTYCZY: NoSQL

Bazy danych w usłudze Azure Cosmos DB to jednostki zarządzania dla co najmniej jednego kontenera. Przed utworzeniem kontenerów lub zarządzaniem nimi należy najpierw utworzyć bazę danych.

Nazywanie bazy danych

W usłudze Azure Cosmos DB baza danych jest analogiczna do przestrzeni nazw. Podczas tworzenia bazy danych nazwa bazy danych tworzy segment identyfikatora URI używanego do uzyskiwania dostępu do zasobu bazy danych i wszystkich zasobów podrzędnych.

Poniżej przedstawiono kilka szybkich reguł podczas nazewnictwa bazy danych:

  • Nazwy baz danych nie mogą być puste.
  • Nazwy baz danych nie mogą być dłuższe niż 256 znaków.

Po utworzeniu identyfikator URI bazy danych ma następujący format:

https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>

Porada

Aby uzyskać więcej informacji na temat limitów nazw bazy danych, zobacz limity przydziału i limity usługi

Tworzenie bazy danych

Aby utworzyć bazę danych, wywołaj jedną z następujących metod:

Tworzenie bazy danych asynchronicznie

W poniższym przykładzie tworzona jest asynchroniczna baza danych:

// New instance of Database class referencing the server-side database
Database database1 = await client.CreateDatabaseAsync(
    id: "adventureworks-1"
);

Metoda CosmosClient.CreateDatabaseAsync zgłasza wyjątek, jeśli baza danych o tej samej nazwie już istnieje.

Utwórz bazę danych asynchronicznie, jeśli jeszcze nie istnieje

Poniższy przykład tworzy bazę danych asynchronicznie tylko wtedy, gdy jeszcze nie istnieje na koncie:

// New instance of Database class referencing the server-side database
Database database2 = await client.CreateDatabaseIfNotExistsAsync(
    id: "adventureworks-2"
);

Metoda CosmosClient.CreateDatabaseIfNotExistsAsync tworzy nową bazę danych tylko wtedy, gdy jeszcze nie istnieje. Ta metoda jest przydatna do unikania błędów w przypadku wielokrotnego uruchamiania tego samego kodu.

Analizowanie odpowiedzi

We wszystkich przykładach do tej pory odpowiedź z żądania asynchronicznego została natychmiast oddana do Database typu. Możesz chcieć przeanalizować metadane dotyczące odpowiedzi, w tym nagłówki i kod stanu HTTP. Prawdziwy typ zwracany dla metod CosmosClient.CreateDatabaseAsync i CosmosClient.CreateDatabaseIfNotExistsAsync to DatabaseResponse.

W poniższym przykładzie przedstawiono metodę CosmosClient.CreateDatabaseIfNotExistsAsync zwracającą metodę DatabaseResponse. Po powrocie można przeanalizować właściwości odpowiedzi, a następnie uzyskać bazowy obiekt bazy danych :

// 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;

Następne kroki

Po utworzeniu bazy danych użyj następnego przewodnika, aby utworzyć kontenery.