Aan de slag met Azure Cosmos DB for Table met .NET
VAN TOEPASSING OP: Tafel
In dit artikel leest u hoe u verbinding maakt met Azure Cosmos DB for Table met behulp van de .NET SDK. Zodra u verbinding hebt gemaakt, kunt u bewerkingen uitvoeren op tabellen 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 voor tabelaccount. Maak een API voor een Table-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 NuGet-pakket Azure.Data.Tables met behulp van de dotnet add package
opdracht.
dotnet add package Azure.Data.Tables
Bouw het project met de dotnet build
opdracht.
dotnet build
Verbinding maken met Azure Cosmos DB for Table
Als u verbinding wilt maken met de API voor Table of Azure Cosmos DB, maakt u een exemplaar van de TableServiceClient
klasse. Deze klasse is het beginpunt om alle bewerkingen uit te voeren op basis van tabellen.
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 TableServiceClient class using Microsoft Entra
TableServiceClient client = new(
endpoint: 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 Table-account, de unieke naamruimte op het hoogste niveau voor uw Azure Cosmos DB-gegevens.
Tabellen, die een set afzonderlijke items in uw account bevatten.
Items, die een afzonderlijk item in uw tabel 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 tabelknooppunten. Een van de tabelknooppunten bevat twee onderliggende items.
Elk type resource wordt vertegenwoordigd door een of meer bijbehorende .NET-klassen of interfaces. Hier volgt een lijst met de meest voorkomende typen:
Klas | Beschrijving |
---|---|
TableServiceClient |
Deze clientklasse 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. |
TableClient |
Deze clientklasse is een verwijzing naar een tabel die al dan niet bestaat in de service. De tabel wordt gevalideerd aan de serverzijde wanneer u deze probeert te openen of een bewerking uitvoert. |
ITableEntity |
Deze interface is de basisinterface voor alle items die zijn gemaakt in de tabel of waarop een query wordt uitgevoerd op basis van de tabel. Deze interface bevat alle vereiste eigenschappen voor items in de API voor Table. |
TableEntity |
Deze klasse is een algemene implementatie van de ITableEntity interface als een woordenlijst van sleutel-waardeparen. |
In de volgende handleidingen ziet u hoe u elk van deze klassen gebruikt om uw toepassing te bouwen.
Guide | Beschrijving |
---|---|
Een tabel maken | Tabellen maken |
Een item maken | Items maken |
Een item lezen | Items lezen |
Zie ook
Volgende stappen
Nu u verbinding hebt gemaakt met een API voor Table-account, gebruikt u de volgende handleiding om tabellen te maken en te beheren.