Aan de slag met Azure Cosmos DB for NoSQL met .NET
VAN TOEPASSING OP: NoSQL
In dit artikel leest u hoe u verbinding maakt met Azure Cosmos DB for NoSQL met behulp van de .NET SDK. Zodra u verbinding hebt gemaakt, kunt u bewerkingen uitvoeren op databases, containers en items.
Pakket (NuGet) | Samples | API reference | Library source code | Give Feedback
Vereisten
- Een Azure-account met een actief abonnement. Gratis een account maken
- Azure Cosmos DB for NoSQL-account. Maak een API voor een NoSQL-account.
- .NET 6.0 of hoger
- Azure-opdrachtregelinterface (CLI) of Azure PowerShell
Uw project instellen
Maak een nieuwe .NET-toepassing met behulp van de dotnet new
opdracht met de consolesjabloon .
dotnet new console
Importeer het Microsoft.Azure.Cosmos NuGet-pakket met behulp van de dotnet add package
opdracht.
dotnet add package Microsoft.Azure.Cosmos
Bouw het project met de dotnet build
opdracht.
dotnet build
Verbinding maken met Azure Cosmos DB for NoSQL
Als u verbinding wilt maken met de API voor NoSQL van Azure Cosmos DB, maakt u een exemplaar van de CosmosClient
klasse. Deze klasse is het startpunt om alle bewerkingen uit te voeren op databases.
Als u verbinding wilt maken met uw API voor NoSQL-account met behulp van Microsoft Entra, gebruikt u een beveiligingsprincipaal. Het exacte type principal is afhankelijk van waar u uw toepassingscode host. De onderstaande tabel fungeert als een snelzoekgids.
Waar de toepassing wordt uitgevoerd | Beveiligingsprincipal |
---|---|
Lokale machine (ontwikkelen en testen) | Gebruikersidentiteit of service-principal |
Azure | Beheerde identiteit |
Servers of clients buiten Azure | Service-principal |
Azure.Identity importeren
Het NuGet-pakket Azure.Identity bevat kernverificatiefunctionaliteit die wordt gedeeld tussen alle Azure SDK-bibliotheken.
Importeer het NuGet-pakket Azure.Identity met behulp van de dotnet add package
opdracht.
dotnet add package Azure.Identity
Bouw het project opnieuw met de dotnet build
opdracht.
dotnet build
Voeg in uw code-editor instructies toe voor Azure.Core
en Azure.Identity
naamruimten.
using Azure.Core;
using Azure.Identity;
CosmosClient maken met standaardreferentie-implementatie
Als u test op een lokale computer of uw toepassing wordt uitgevoerd op Azure-services met directe ondersteuning voor beheerde identiteiten, moet u een OAuth-token verkrijgen door een DefaultAzureCredential
exemplaar te maken.
In dit voorbeeld hebben we het exemplaar opgeslagen in een variabele van het type TokenCredential
, omdat dit een meer algemeen type is dat opnieuw kan worden gebruikt in SDK's.
// Credential class for testing on a local machine or Azure services
TokenCredential credential = new DefaultAzureCredential();
Maak een nieuw exemplaar van de CosmosClient-klasse met de COSMOS_ENDPOINT
omgevingsvariabele en het TokenCredential-object als parameters.
// New instance of CosmosClient class using a connection string
using CosmosClient client = new(
accountEndpoint: Environment.GetEnvironmentVariable("COSMOS_ENDPOINT")!,
tokenCredential: credential
);
Uw toepassing bouwen
Tijdens het bouwen van uw toepassing werkt uw code voornamelijk met vier typen resources:
De API voor NoSQL-account, de unieke naamruimte op het hoogste niveau voor uw Azure Cosmos DB-gegevens.
Databases, die de containers in uw account organiseren.
Containers, die een set afzonderlijke items in uw database bevatten.
Items, die een JSON-document in uw container vertegenwoordigen.
Het volgende diagram geeft de relatie tussen deze resources weer.
Hiërarchisch diagram met een Azure Cosmos DB-account bovenaan. Het account heeft twee onderliggende databaseknooppunten. Een van de databaseknooppunten bevat twee onderliggende containerknooppunten. Het andere databaseknooppunt bevat één onderliggend containerknooppunt. Dat knooppunt met één container heeft drie onderliggende itemknooppunten.
Elk type resource wordt vertegenwoordigd door een of meer bijbehorende .NET-klassen. Hier volgt een lijst met de meest voorkomende klassen:
Klas | Beschrijving |
---|---|
CosmosClient |
Deze klasse biedt een logische weergave aan de clientzijde voor de Azure Cosmos DB-service. Het clientobject wordt gebruikt om aanvragen aan de service te configureren en uitvoeren. |
Database |
Deze klasse is een verwijzing naar een database die al dan niet bestaat in de service. De database wordt gevalideerd aan de serverzijde wanneer u deze probeert te openen of een bewerking uitvoert. |
Container |
Deze klasse is een verwijzing naar een container die mogelijk nog niet bestaat in de service. De container wordt gevalideerd aan de serverzijde wanneer u ermee probeert te werken. |
In de volgende handleidingen ziet u hoe u elk van deze klassen gebruikt om uw toepassing te bouwen.
Guide | Beschrijving |
---|---|
Een database maken | Databases maken |
Een container maken | Maak containers |
Een item lezen | Een specifiek item lezen |
Query's uitvoeren op items | Query's uitvoeren op meerdere items |