Erste Schritte mit Azure Cosmos DB for Table unter Verwendung von .NET

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

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.

Diagramm der Azure Cosmos DB-Hierarchie mit Konten, Tabellen und Elementen.

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.