Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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.
Paket (NuGet) | API-referens | Källkod | för bibliotekGe feedback
Förutsättningar
- Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
- Azure Cosmos DB för NoSQL-konto. Skapa ett API för NoSQL-konto.
- .NET 6.0 eller senare
- Azures kommandoradsgränssnitt (CLI) eller Azure PowerShell
Konfigurera projektet
Skapa ett nytt .NET-program genom att använda kommandot dotnet new med mallen konsol.
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 en säkerhetsprincip. Den exakta typen av huvudprincip beror på var du kör din programkod. Tabellen nedan fungerar som en snabbreferensguide.
| Där programmet körs | säkerhetsprincip | 
|---|---|
| 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.
              
              
            
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 barncontainernod. 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 |