Dela via


Kom igång med Azure Cosmos DB för NoSQL med hjälp av .NET

GÄLLER FÖR: NoSQL

Den här artikeln visar hur du ansluter till Azure Cosmos DB för NoSQL med hjälp av .NET SDK. När du är ansluten kan du utföra åtgärder på databaser, containrar och objekt.

Package (NuGet)Samples API reference Library source code Give Feedback (Paket (NuGet) | Samples | API reference | Library source code | Give Feedback

Förutsättningar

Konfigurera projektet

Skapa ett nytt .NET-program med hjälp dotnet new av kommandot med konsolmallen.

dotnet new console

Importera NuGet-paketet Microsoft.Azure.Cosmos med kommandot dotnet add package .

dotnet add package Microsoft.Azure.Cosmos

Skapa projektet med dotnet build kommandot .

dotnet build

Ansluta till Azure Cosmos DB för NoSQL

Om du vill ansluta till API:et för NoSQL för Azure Cosmos DB skapar du en instans av CosmosClient klassen. Den här klassen är utgångspunkten för att utföra alla åtgärder mot databaser.

Om du vill ansluta till ditt API för NoSQL-konto med Hjälp av Microsoft Entra använder du ett säkerhetsobjekt. Den exakta typen av huvudnamn beror på var du är värd för programkoden. Tabellen nedan fungerar som en snabbreferensguide.

Där programmet körs Säkerhetsobjekt
Lokal dator (utveckla och testa) Användaridentitet eller tjänstens huvudnamn
Azure Hanterad identitet
Servrar eller klienter utanför Azure Tjänstens huvudnamn

Importera Azure.Identity

NuGet-paketet Azure.Identity innehåller grundläggande autentiseringsfunktioner som delas mellan alla Azure SDK-bibliotek.

Importera Azure.Identity NuGet-paketet med kommandot dotnet add package .

dotnet add package Azure.Identity

Återskapa projektet med dotnet build kommandot .

dotnet build

I kodredigeraren lägger du till med hjälp av direktiv för Azure.Core och Azure.Identity namnområden.

using Azure.Core;
using Azure.Identity;

Skapa CosmosClient med standardimplementering av autentiseringsuppgifter

Om du testar på en lokal dator, eller om programmet körs på Azure-tjänster med direkt stöd för hanterade identiteter, hämtar du en OAuth-token genom att skapa en DefaultAzureCredential instans.

I det här exemplet sparade vi instansen i en variabel av typen TokenCredential eftersom det är en mer allmän typ som kan återanvändas mellan SDK:er.

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

Skapa en ny instans av klassen CosmosClient med COSMOS_ENDPOINT miljövariabeln och TokenCredential-objektet som parametrar.

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

Skapa ditt program

När du skapar ditt program interagerar koden främst med fyra typer av resurser:

  • API:et för NoSQL-kontot, som är det unika toppnivånamnområdet för dina Azure Cosmos DB-data.

  • Databaser som organiserar containrarna i ditt konto.

  • Containrar som innehåller en uppsättning enskilda objekt i databasen.

  • Objekt som representerar ett JSON-dokument i containern.

Följande diagram visar relationen mellan de här resurserna.

Diagram över Azure Cosmos DB-hierarkin, inklusive konton, databaser, containrar och objekt.

Hierarkiskt diagram som visar ett Azure Cosmos DB-konto högst upp. Kontot har två underordnade databasnoder. En av databasnoderna innehåller två underordnade containernoder. Den andra databasnoden innehåller en enda underordnad containernod. Den enda containernoden har tre underordnade objektnoder.

Varje typ av resurs representeras av en eller flera associerade .NET-klasser. Här är en lista över de vanligaste klasserna:

Klass beskrivning
CosmosClient Den här klassen tillhandahåller en logisk representation på klientsidan för Azure Cosmos DB-tjänsten. Klientobjektet används för att konfigurera och köra begäranden mot tjänsten.
Database Den här klassen är en referens till en databas som kanske, eller kanske inte, finns i tjänsten ännu. Databasen verifieras på serversidan när du försöker komma åt den eller utföra en åtgärd mot den.
Container Den här klassen är en referens till en container som inte heller finns i tjänsten ännu. Containern verifieras på serversidan när du försöker arbeta med den.

Följande guider visar hur du använder var och en av dessa klasser för att skapa ditt program.

Guide beskrivning
Skapa en databas Skapa databaser
Skapa en container Skapa behållare
Läsa ett objekt Punktläsning av ett specifikt objekt
Frågeobjekt Fråga efter flera objekt

Se även

Nästa steg