Introduzione ad Azure Cosmos DB for Table tramite .NET

Importante

Si sta cercando una soluzione di database per scenari su larga scala con un contratto di servizio di disponibilità 99.999%, scalabilità automatica immediata e failover automatico in più aree? Prendere in considerazione Azure Cosmos DB per NoSQL.

Questo articolo illustra come connettersi ad Azure Cosmos DB for Table usando .NET SDK. Una volta stabilita la connessione, è possibile eseguire operazioni su tabelle ed elementi.

Pacchetto (NuGet) | Esempi | Informazioni di riferimento sulle API | Codice sorgente libreria | Commenti e suggerimenti |

Prerequisiti

Configurare il progetto

Creare una nuova applicazione .NET usando il comando dotnet new con il modello console.

dotnet new console

Importare il pacchetto NuGet Azure.Data.Tables usando il comando dotnet add package.

dotnet add package Azure.Data.Tables

Creare il progetto con il comando dotnet build.

dotnet build

Connettersi ad Azure Cosmos DB for Table

Per connettersi all'API for Table di Azure Cosmos DB, creare un'istanza della classe TableServiceClient. Questa classe è il punto di partenza per eseguire qualsiasi operazione sulle tabelle.

Per connettersi all'account API NoSQL con Microsoft Entra, utilizzare un'entità di sicurezza. Il tipo esatto di principale dipenderà da dove è ospitato il codice dell'applicazione. La tabella seguente funge da guida di riferimento rapido.

Dove viene eseguita l'applicazione Entità di sicurezza
Computer locale (sviluppo e test) Identità utente o principale del servizio
Azure Identità gestita
Server o client esterni ad Azure Service Principal

Importare Azure.Identity

Il pacchetto NuGet Azure.Identity contiene funzionalità di autenticazione di base condivise tra tutte le librerie dell’SDK di Azure.

Importare il pacchetto NuGet Azure.Identity con il comando dotnet add package.

dotnet add package Azure.Identity

Ricostruire il progetto con il comando dotnet build.

dotnet build

Nell'editor di codice, aggiungi direttive using per i namespace Azure.Core e Azure.Identity.

using Azure.Core;
using Azure.Identity;

Creare CosmosClient con l'implementazione di credenziali predefinita

Se si esegue un test in un computer locale o se l'applicazione verrà eseguita in servizi di Azure con supporto diretto per le identità gestite, ottenere un token OAuth creando un'istanza di DefaultAzureCredential.

Per questo esempio l'istanza è stata salvata in una variabile di tipo TokenCredential perché si tratta di un tipo più generico riutilizzabile tra gli SDK.

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

Creare una nuova istanza della classe CosmosClient specificando come parametri la variabile di ambiente COSMOS_ENDPOINT e l'oggetto TokenCredential.

// New instance of TableServiceClient class using Microsoft Entra
TableServiceClient client = new(
    endpoint: Environment.GetEnvironmentVariable("COSMOS_ENDPOINT")!,
    tokenCredential: credential
);

Compilare l'applicazione

Durante la compilazione dell'applicazione, il codice interagirà essenzialmente con due tipi di risorse:

  • L'API per l'account Table, il quale rappresenta lo spazio dei nomi univoco di primo livello per i dati di Azure Cosmos DB.

  • Tabelle, che contengono un set di singoli elementi dell'account.

  • Elementi, che rappresentano un singolo elemento della tabella.

Il diagramma seguente illustra la relazione tra queste risorse.

Diagramma della gerarchia di Azure Cosmos DB, inclusi account, tabelle ed elementi.

Diagramma gerarchico che mostra al vertice un account di Azure Cosmos DB. L'account presenta due nodi di tabella figlio. Uno dei nodi della tabella include due elementi figli.

Ogni tipo di risorsa è rappresentato da una o più classi o interfacce .NET associate. Ecco un elenco dei tipi più comuni:

Class Description
TableServiceClient Questa classe client fornisce una rappresentazione logica lato client per il servizio Azure Cosmos DB. L'oggetto client viene usato per configurare ed eseguire richieste nel servizio.
TableClient Questa classe client è un riferimento a una tabella che può esistere o meno nel servizio. La tabella viene convalidata sul lato server quando si tenta di accedervi o di eseguire un'operazione su di essa.
ITableEntity Questa interfaccia è l'interfaccia di base per tutti gli elementi creati nella tabella o sottoposti a query dalla tabella. Questa interfaccia include tutte le proprietà necessarie per gli elementi nell'API per Table.
TableEntity Questa classe è un'implementazione generica dell'interfaccia ITableEntity come dizionario di coppie chiave-valore.

Le guide seguenti illustrano come usare ognuna di queste classi per costruire la tua applicazione.

Guida Description
Creare una tabella Creare tabelle
Creare un elemento Creare elementi
Leggere un elemento Leggere gli elementi

Vedere anche

Passaggi successivi

Dopo aver eseguito la connessione a un account dell'API per Table, passare alla guida successiva per creare e gestire tabelle.