Erstellen einer Datenbank in Azure Cosmos DB for NoSQL mithilfe von .NET

GILT FÜR: NoSQL

Datenbanken in Azure Cosmos DB sind Einheiten der Verwaltung für einen oder mehrere Container. Bevor Sie Container erstellen oder verwalten können, müssen Sie zuerst eine Datenbank erstellen.

Benennen einer Datenbank

In Azure Cosmos DB ist eine Datenbank analog zu einem Namespace. Wenn Sie eine Datenbank erstellen, bildet der Datenbankname ein Segment des URI, der für den Zugriff auf die Datenbankressource und alle untergeordneten Ressourcen verwendet wird.

Hier sind einige schnelle Regeln für das Benennen einer Datenbank:

  • Datenbanknamen dürfen nicht leer sein.
  • Containernamen dürfen nicht länger als 256 Zeichen sein.

Nach der Erstellung weist der URI für eine Datenbank das folgende Format auf:

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

Tipp

Weitere Informationen zu den Grenzwerten von Datenbanknamen finden Sie unter Dienstkontingente und Grenzwerte

Erstellen einer Datenbank

Um eine Datenbank zu erstellen, rufen Sie eine der folgenden Methoden auf:

Asynchrones Erstellen einer Datenbank

Im folgenden Beispiel wird eine neue Datenbank asynchron erstellt:

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

Die CosmosClient.CreateDatabaseAsync-Methode wirft eine Ausnahme aus, wenn eine Datenbank mit demselben Namen bereits vorhanden ist.

Asynchrones Erstellen einer Datenbank, falls sie noch nicht vorhanden ist

Im folgenden Beispiel wird eine Datenbank asynchron erstellt, wenn sie nicht bereits im Konto vorhanden ist:

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

Die CosmosClient.CreateDatabaseIfNotExistsAsync-Methode erstellt eine neue Datenbank nur, wenn sie noch nicht vorhanden ist. Diese Methode ist nützlich, um Fehler zu vermeiden, wenn Sie denselben Code mehrmals ausführen.

Analysieren der Antwort

In allen bisherigen Beispielen wurde die Antwort der asynchronen Anforderung sofort in den Database-Typ umgewandelt. Sie können Metadaten zur Antwort analysieren, einschließlich Headern und HTTP-Statuscode. Der wahre Rückgabetyp für die Methoden CosmosClient.CreateDatabaseAsync und CosmosClient.CreateDatabaseIfNotExistsAsync ist DatabaseResponse.

Das folgende Beispiel zeigt die Methode CosmosClient.CreateDatabaseIfNotExistsAsync, die eine DatabaseResponse zurückgibt. Sobald sie zurückgegeben wurde, können Sie Antworteigenschaften analysieren und dann das zugrunde liegende Datenbank-Objekt abrufen:

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

Nächste Schritte

Nachdem Sie eine Datenbank erstellt haben, verwenden Sie den nächsten Leitfaden zum Erstellen von Containern.