Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Important
Suchen Sie nach einer Datenbanklösung für hochskalige Szenarien mit einer Vereinbarung über verfügbarkeitsbasierte Servicelevels (Service Level Agreement, SLA) von 99,999% Verfügbarkeit, sofortige Automatische Skalierung und automatisches Failover über mehrere Regionen hinweg? Erwägen Sie Azure Cosmos DB für NoSQL.
In diesem Artikel erfahren Sie, wie Sie mithilfe des .NET SDK eine Verbindung mit Azure Cosmos DB for Table herstellen. Sobald die Verbindung hergestellt ist, können Sie Vorgänge auf Tabellen und Elemente anwenden.
Paket (NuGet) | Beispiele | API-Dokumentation | Bibliotheksquellcode | Feedback einreichen |
Prerequisites
- Ein Azure-Konto mit einem aktiven Abonnement. Kostenlos ein Konto erstellen.
- Azure Cosmos DB für Table-Konto. Erstellen eines „API für Table“-Kontos.
- .NET 6,0 oder höher
- Azure-Befehlszeilenschnittstelle (CLI) oder Azure PowerShell
Einrichten Ihres Projekts
Erstellen Sie eine neue .NET Anwendung mithilfe des Befehls dotnet new mit der Vorlage console.
dotnet new console
Importieren Sie das NuGet-Paket Azure.Data.Tables mit dem Befehl dotnet add package.
dotnet add package Azure.Data.Tables
Erstellen Sie das Projekt mit dem dotnet build-Befehl.
dotnet build
Herstellen einer Verbindung mit Azure Cosmos DB for Table
Um eine Verbindung mit der API für Table von Azure Cosmos DB herzustellen, erstellen Sie eine Instanz der TableServiceClient-Klasse. Diese Klasse ist der Ausgangspunkt für das Anwenden aller Vorgänge auf Tabellen.
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;
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 CosmosClient-Klasse mit der COSMOS_ENDPOINT-Umgebungsvariable und dem TokenCredential-Objekt als Parameter.
// New instance of TableServiceClient class using Microsoft Entra
TableServiceClient client = new(
endpoint: Environment.GetEnvironmentVariable("COSMOS_ENDPOINT")!,
tokenCredential: credential
);
Erstellen Ihrer Anwendung
Beim Erstellen Ihrer Anwendung interagiert Ihr Code hauptsächlich mit vier Arten von Ressourcen:
Das „API für Table“-Konto, das den eindeutigen Namespace der obersten Ebene für Ihre Azure Cosmos DB-Daten darstellt.
Tabellen, die eine Menge einzelner Elemente in Ihrem Konto enthalten.
Elemente, die ein einzelnes Element in Ihrer Tabelle darstellen.
Das folgende Diagramm zeigt die Beziehung zwischen diesen Ressourcen.
Hierarchisches Diagramm mit einem Azure Cosmos DB-Konto oben. Das Konto hat zwei untergeordnete Tabellenknoten. Einer der Tabellenknoten enthält zwei Kind-Elemente.
Jeder Ressourcentyp wird durch eine oder mehrere zugeordnete .NET-Klassen oder -Schnittstellen dargestellt. Es folgt eine Liste der gängigsten Typen:
| Class | Description |
|---|---|
TableServiceClient |
Diese Clientklasse bietet eine clientseitige logische Darstellung für den Azure Cosmos DB-Dienst. Das Clientobjekt wird zum Konfigurieren und Ausführen von Anforderungen für den Dienst verwendet. |
TableClient |
Diese Clientklasse ist ein Verweis auf eine Tabelle, die möglicherweise noch nicht im Dienst vorhanden ist. Die Tabelle wird serverseitig überprüft, wenn Sie versuchen, darauf zuzugreifen oder einen Vorgang darauf anzuwenden. |
ITableEntity |
Diese Schnittstelle ist die Basisschnittstelle für alle Elemente, die in der Tabelle erstellt oder abgefragt werden. Diese Schnittstelle enthält alle erforderlichen Eigenschaften für Elemente in der API für Table. |
TableEntity |
Diese Klasse ist eine generische Implementierung der ITableEntity-Schnittstelle als Wörterbuch von Schlüssel-Wert-Paaren. |
In den folgenden Leitfäden wird gezeigt, wie Sie diese verschiedenen Klassen verwenden, um Ihre Anwendung zu erstellen.
| Guide | Description |
|---|---|
| Tabelle erstellen | Tabellen erstellen |
| Erstellen eines Elements | Erstellen von Elementen |
| Ein Element lesen | Lesen von Elementen |
Siehe auch
Nächste Schritte
Nachdem Sie eine Verbindung mit einem „API für Table“-Konto hergestellt haben, können Sie anhand der nächsten Anleitung Tabellen erstellen und verwalten.