Udostępnij za pośrednictwem


Rozpoczynanie pracy z usługą Azure Cosmos DB for NoSQL przy użyciu platformy .NET

DOTYCZY: NoSQL

W tym artykule pokazano, jak nawiązać połączenie z usługą Azure Cosmos DB for NoSQL przy użyciu zestawu .NET SDK. Po nawiązaniu połączenia można wykonywać operacje na bazach danych, kontenerach i elementach.

Kod źródłowy biblioteki źródłowej interfejsu API package (NuGet)Samples | API Reference | Code | (Dokumentacja interfejsu API pakietu (NuGet) | Prześlij opinię

Wymagania wstępne

konfigurowanie projektu

Utwórz nową aplikację .NET przy użyciu dotnet new polecenia z szablonem konsoli .

dotnet new console

Zaimportuj pakiet NuGet Microsoft.Azure.Cosmos przy użyciu dotnet add package polecenia .

dotnet add package Microsoft.Azure.Cosmos

Skompiluj projekt za dotnet build pomocą polecenia .

dotnet build

Nawiązywanie połączenia z usługą Azure Cosmos DB for NoSQL

Aby nawiązać połączenie z interfejsem API for NoSQL usługi Azure Cosmos DB, utwórz wystąpienie CosmosClient klasy . Ta klasa jest punktem wyjścia do wykonywania wszystkich operacji względem baz danych.

Aby nawiązać połączenie z kontem interfejsu API dla noSQL przy użyciu usługi Microsoft Entra, użyj podmiotu zabezpieczeń. Dokładny typ podmiotu zabezpieczeń będzie zależeć od tego, gdzie hostujesz kod aplikacji. Poniższa tabela służy jako krótki przewodnik informacyjny.

Gdzie działa aplikacja Podmiot zabezpieczeń
Maszyna lokalna (programowanie i testowanie) Tożsamość użytkownika lub jednostka usługi
Azure Tożsamość zarządzana
Serwery lub klienci spoza platformy Azure Jednostka usługi

Importowanie pliku Azure.Identity

Pakiet NuGet Azure.Identity zawiera podstawowe funkcje uwierzytelniania współużytkowane przez wszystkie biblioteki zestawu Azure SDK.

Zaimportuj pakiet NuGet Azure.Identity przy użyciu dotnet add package polecenia .

dotnet add package Azure.Identity

Skompiluj projekt za dotnet build pomocą polecenia .

dotnet build

W edytorze kodu dodaj dyrektywy using dla Azure.Core przestrzeni nazw i Azure.Identity .

using Azure.Core;
using Azure.Identity;

Tworzenie elementu CosmosClient z domyślną implementacją poświadczeń

Jeśli testujesz na komputerze lokalnym lub aplikacja będzie działać w usługach platformy Azure z bezpośrednią obsługą tożsamości zarządzanych, uzyskaj token OAuth, tworząc DefaultAzureCredential wystąpienie.

W tym przykładzie zapisano wystąpienie w zmiennej typu TokenCredential , ponieważ jest to bardziej ogólny typ, który jest wielokrotnego użytku w zestawach SDK.

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

Utwórz nowe wystąpienie klasy CosmosClient ze zmienną COSMOS_ENDPOINT środowiskową i obiektEm TokenCredential jako parametry.

// New instance of CosmosClient class using a connection string
using CosmosClient client = new(
    accountEndpoint: Environment.GetEnvironmentVariable("COSMOS_ENDPOINT")!,
    tokenCredential: credential
);

Kompilowanie aplikacji

Podczas kompilowania aplikacji kod będzie przede wszystkim współdziałać z czterema typami zasobów:

  • Interfejs API dla konta NoSQL, który jest unikatową przestrzenią nazw najwyższego poziomu dla danych usługi Azure Cosmos DB.

  • Bazy danych, które organizują kontenery na twoim koncie.

  • Kontenery, które zawierają zestaw pojedynczych elementów w bazie danych.

  • Elementy reprezentujące dokument JSON w kontenerze.

Na poniższym diagramie przedstawiono relacje między tymi zasobami.

Diagram hierarchii usługi Azure Cosmos DB, w tym kont, baz danych, kontenerów i elementów.

Diagram hierarchiczny przedstawiający konto usługi Azure Cosmos DB u góry. Konto ma dwa podrzędne węzły bazy danych. Jeden z węzłów bazy danych zawiera dwa podrzędne węzły kontenera. Drugi węzeł bazy danych zawiera jeden podrzędny węzeł kontenera. Ten pojedynczy węzeł kontenera ma trzy węzły elementów podrzędnych.

Każdy typ zasobu jest reprezentowany przez co najmniej jedną skojarzną klasę platformy .NET. Oto lista najpopularniejszych klas:

Klasa opis
CosmosClient Ta klasa zapewnia logiczną reprezentację po stronie klienta dla usługi Azure Cosmos DB. Obiekt klienta służy do konfigurowania i wykonywania żądań względem usługi.
Database Ta klasa jest odwołaniem do bazy danych, która może lub nie istnieje jeszcze w usłudze. Baza danych jest weryfikowana po stronie serwera podczas próby uzyskania do niej dostępu lub wykonania operacji względem niej.
Container Ta klasa jest odwołaniem do kontenera, który również może jeszcze nie istnieć w usłudze. Kontener jest weryfikowany po stronie serwera podczas próby pracy z nim.

W poniższych przewodnikach pokazano, jak utworzyć aplikację przy użyciu każdej z tych klas.

Przewodnik opis
Tworzenie bazy danych Tworzenie baz danych
Tworzenie kontenera Twórz kontenery
Odczytywanie elementu Punkt odczytu określonego elementu
Elementy kwerend Wykonywanie zapytań o wiele elementów

Zobacz też

Następne kroki