Introduzione ad Azure Cosmos DB for NoSQL con .NET
SI APPLICA A: NoSQL
Questo articolo illustra come connettersi ad Azure Cosmos DB for NoSQL con .NET SDK. Una volta stabilita la connessione, è possibile eseguire operazioni su database, contenitori ed elementi.
Pacchetto (NuGet) | Esempi | Informazioni di riferimento sulle API | Codice sorgente della libreria | Inviare feedback
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
- Account Azure Cosmos DB for NoSQL. Creare un account API for NoSQL.
- .NET 6.0 o versioni successive
- Interfaccia della riga di comando di Azure o Azure PowerShell
Impostare il progetto
Creare una nuova applicazione .NET usando il comando dotnet new
con il modello console.
dotnet new console
Importare il pacchetto NuGet Microsoft.Azure.Cosmos con il comando dotnet add package
.
dotnet add package Microsoft.Azure.Cosmos
Compilare il progetto con il comando dotnet build
.
dotnet build
Connettersi ad Azure Cosmos DB for NoSQL
Per connettersi all'API for NoSQL di Azure Cosmos DB, creare un'istanza della classe CosmosClient
. Questa classe è il punto di partenza per eseguire qualsiasi operazione sui database.
Per connettersi all'account API per NoSQL usando Microsoft Entra, usare un'entità di sicurezza. Il tipo esatto di entità di sicurezza dipenderà da dove viene ospitato il codice dell'applicazione. La tabella seguente funge da guida di riferimento rapido.
Dove viene eseguita l'applicazione | Entità di sicurezza principale |
---|---|
Computer locale (sviluppo e test) | Identità utente o entità servizio |
Azure | Identità gestita |
Server o client esterni ad Azure | Entità servizio |
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
Ricompilare il progetto con il comando dotnet build
.
dotnet build
Nell'editor di codice aggiungere direttive using per gli spazi dei nomi 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 CosmosClient class using a connection string
using CosmosClient client = new(
accountEndpoint: Environment.GetEnvironmentVariable("COSMOS_ENDPOINT")!,
tokenCredential: credential
);
Compilare l'applicazione
Durante la compilazione dell'applicazione, il codice interagirà principalmente con quattro tipi di risorse:
Account API for NoSQL, ovvero lo spazio dei nomi di primo livello univoco per i dati di Azure Cosmos DB.
Database, che organizzano i contenitori nell'account.
Contenitori, che contengono una serie di singoli elementi nel database.
Elementi, che rappresentano un documento JSON nel contenitore.
Il diagramma seguente mostra la relazione tra queste risorse.
Diagramma gerarchico che mostra al vertice un account di Azure Cosmos DB. L'account presenta due nodi database figlio. Uno dei nodi del database include due nodi contenitore figlio. L'altro nodo del database include un singolo nodo contenitore figlio. che include tre nodi elemento figlio.
Ogni tipo di risorsa è rappresentato da una o più classi .NET associate. Ecco un elenco delle classi più comuni:
Classe | Descrizione |
---|---|
CosmosClient |
Questa classe fornisce una rappresentazione logica lato client per il servizio Azure Cosmos DB. L'oggetto client viene usato per configurare ed eseguire richieste nel servizio. |
Database |
Questa classe è un riferimento a un database che potrebbe esistere o meno nel servizio. Il database viene convalidato sul lato server quando si prova ad accedervi o a eseguire un'operazione su di esso. |
Container |
Questa classe è un riferimento a un contenitore che potrebbe non esistere ancora nel servizio. Il contenitore viene convalidato sul lato server quando si prova a usarlo. |
Nelle guide seguenti viene illustrato come usare ognuna di queste classi per creare l'applicazione.
Guida | Descrizione |
---|---|
Creare un database | Creare database |
Creare un contenitore | Crea contenitori |
Leggere un elemento | Lettura di punti un elemento specifico |
Eseguire query sugli elementi | Eseguire query su più elementi |
Vedi anche
- Pacchetto (NuGet)
- Esempi
- Informazioni di riferimento sulle API
- Codice sorgente della libreria
- Inviare feedback