Beginnen Sie mit Azure Cosmos DB für NoSQL unter Verwendung von .NET

In diesem Artikel erfahren Sie, wie Sie mithilfe des .NET SDK eine Verbindung mit Azure Cosmos DB für NoSQL herstellen. Nach der Verbindung können Sie Vorgänge für Datenbanken, Container und Elemente ausführen.

Paket (NuGet) | API-Referenz | Quellcode | der BibliothekFeedback geben

Prerequisites

Einrichten Ihres Projekts

Erstellen Sie eine neue .NET Anwendung mithilfe des Befehls dotnet new mit der Vorlage console.

dotnet new console

Importieren Sie das Microsoft.Azure.Cosmos NuGet-Paket mit dem dotnet add package Befehl.

dotnet add package Microsoft.Azure.Cosmos

Fügen Sie außerdem das Newtonsoft.Json NuGet-Paket hinzu, das vom Microsoft.Azure.Cosmos-Paket benötigt wird.

dotnet add package Newtonsoft.Json

Erstellen Sie das Projekt mit dem dotnet build-Befehl.

dotnet build

Herstellen einer Verbindung mit Azure Cosmos DB for NoSQL

Um eine Verbindung mit der API für NoSQL von Azure Cosmos DB herzustellen, erstellen Sie eine Instanz der klasse CosmosClient. Diese Klasse ist der Ausgangspunkt, um alle Vorgänge für Datenbanken auszuführen.

Um eine Verbindung mit Ihrer API für das NoSQL-Konto mithilfe von Microsoft Entra herzustellen, verwenden Sie einen Sicherheitsprinzipal. Der genaue Prinzipaltyp hängt davon ab, wo Sie Ihren Anwendungscode hosten. Die folgende Tabelle dient als Kurzanleitung.

Ausführungsort der Anwendung Sicherheitsprinzipal
Lokaler Computer (Entwickeln und Testen) Benutzeridentität oder Dienstprinzipal
Azure Verwaltete Identität
Server oder Clients außerhalb von Azure Service Principal

Importieren Sie Azure.Identity

Das Azure.Identity NuGet-Paket enthält grundlegende Authentifizierungsfunktionen, die von allen Azure SDK-Bibliotheken gemeinsam genutzt werden.

Importieren Sie das Azure.Identity-NuGet-Paket mithilfe des dotnet add package-Befehls.

dotnet add package Azure.Identity

Erstellen Sie das Projekt mit dem Befehl dotnet build neu.

dotnet build

Fügen Sie in Ihrem Code-Editor die Verwendung von Direktiven für Azure.Core und Azure.Identity Namespaces hinzu.

using Azure.Core;
using Azure.Identity;

Note

Zusätzlich zu Azure.Core und Azure.Identity muss Ihre Anwendung auf den Microsoft.Azure.Cosmos-Namespace verweisen. Dieser Namespace stellt die Azure Cosmos DB-Clienttypen wie CosmosClient, Database und Container bereit, die während des restlichen Artikels verwendet werden. Ohne diesen Namespaceverweis wird die Anwendung nicht kompiliert.

Erstelle CosmosClient mit Standard-Zugangsdaten-Implementierung

Wenn Sie auf einem lokalen Computer testen oder Ihre Anwendung auf Azure-Diensten mit direkter Unterstützung für verwaltete Identitäten ausgeführt wird, rufen Sie ein OAuth-Token ab, indem Sie eine DefaultAzureCredential-Instanz erstellen.

In diesem Beispiel haben wir die Instanz in einer Variablen vom Typ TokenCredential gespeichert, da es sich um einen generischeren Typ handelt, der über SDKs wiederverwendbar ist.

// Credential class for testing on a local machine or Azure services
TokenCredential credential = new DefaultAzureCredential();

Erstellen Sie eine neue Instanz der klasse CosmosClient mit Ihrem Azure Cosmos DB-Endpunkt und dem TokenCredentialobjekt als Parameter.

CosmosClient client = new(
    accountEndpoint: "<azure-cosmos-db-endpoint>",
    tokenCredential: credential
);

Erstellen Ihrer Anwendung

Beim Erstellen Ihrer Anwendung interagiert Ihr Code hauptsächlich mit vier Arten von Ressourcen:

  • Die API für NoSQL-Konto, die der eindeutige Namespace der obersten Ebene für Ihre Azure Cosmos DB-Daten ist.

  • Datenbanken, die Container in Ihrem Konto organisieren.

  • Container, die eine Reihe einzelner Elemente in Ihrer Datenbank enthalten.

  • Elemente, die ein JSON-Dokument in Ihrem Container darstellen.

Das folgende Diagramm zeigt die Beziehung zwischen diesen Ressourcen.

Diagramm der Azure Cosmos DB-Hierarchie einschließlich Konten, Datenbanken, Containern und Items.

Hierarchisches Diagramm mit einem Azure Cosmos DB-Konto oben. Das Konto verfügt über zwei Kind-Datenbankknoten. Einer der Datenbankknoten enthält zwei untergeordnete Containerknoten. Der andere Datenbankknoten enthält einen einzelnen untergeordneten Containerknoten. Dieser einzelne Containerknoten hat drei untergeordnete Elementknoten.

Jeder Ressourcentyp wird durch eine oder mehrere zugeordnete .NET-Klassen dargestellt. Hier ist eine Liste der am häufigsten verwendeten Klassen:

Class Description
CosmosClient Diese Klasse stellt eine clientseitige logische Darstellung für den Azure Cosmos DB-Dienst bereit. Das Clientobjekt wird zum Konfigurieren und Ausführen von Anforderungen für den Dienst verwendet.
Database Diese Klasse ist ein Verweis auf eine Datenbank, die möglicherweise noch nicht im Dienst vorhanden ist. Die Datenbank wird serverseitig überprüft, wenn Sie versuchen, darauf zuzugreifen oder einen Vorgang auszuführen.
Container Diese Klasse ist ein Verweis auf einen Container, der möglicherweise noch nicht im Dienst vorhanden ist. Der Container wird serverseitig überprüft, wenn Sie versuchen, damit zu arbeiten.

In den folgenden Leitfäden wird gezeigt, wie Sie diese verschiedenen Klassen verwenden, um Ihre Anwendung zu erstellen.

Guide Description
Erstellen einer Datenbank Erstellen von Datenbanken
Container erstellen Erstellen von Containern.
Ein Element lesen Punktlesevorgang eines bestimmten Elements
Abfrageelemente Abfragen mehrerer Elemente

Siehe auch

Nächste Schritte