Condividi tramite


Introduzione ad Azure Cosmos DB for MongoDB usando .NET

SI APPLICA A: MongoDB

Questo articolo illustra come connettersi ad Azure Cosmos DB for MongoDB usando .NET Core e i pacchetti NuGet pertinenti. Dopo la connessione, è possibile eseguire operazioni su database, raccolte e documenti.

Nota

I frammenti di codice di esempio sono disponibili su GitHub come progetto .NET.

Documentazione di riferimento dell'API per MongoDB | Pacchetto MongoDB (NuGet)

Prerequisiti

Creare una nuova app .NET Core

  1. Creare una nuova applicazione .NET Core in una cartella vuota usando il terminale preferito. Per questo scenario si userà un'applicazione console. Usare il comando dotnet new per creare e assegnare un nome all'app console.

    dotnet new console -o app
    
  2. Aggiungere il pacchetto NuGet MongoDB al progetto console. Usare il comando dotnet add package specificando il nome del pacchetto NuGet.

    dotnet add package MongoDB.Driver
    
  3. Per eseguire l'app, usare un terminale per passare alla directory dell'applicazione e quindi eseguire l'applicazione.

    dotnet run
    

Connettersi ad Azure Cosmos DB for MongoDB con il driver nativo MongoDB

Per connettersi ad Azure Cosmos DB con il driver nativo MongoDB, creare un'istanza della classe MongoClient. Questa classe è il punto di partenza per eseguire tutte le operazioni sui database di MongoDb. Il costruttore più comune per MongoClient accetta una stringa di connessione che è possibile recuperare seguendo questa procedura:

Ottenere il nome della risorsa

  1. Creare una variabile di shell per resourceGroupName.

    # Variable for resource group name
    resourceGroupName="msdocs-cosmos"
    
  2. Usare il comando az cosmosdb list per recuperare il nome del primo account Azure Cosmos DB nel gruppo di risorse e archiviarlo nella variabile della shell accountName.

    # Retrieve most recently created account name
    accountName=$(
        az cosmosdb list \
            --resource-group $resourceGroupName \
            --query "[0].name" \
            --output tsv
    )
    

Recuperare la stringa di connessione

  1. Trovare la stringa di connessione dell'API per MongoDB dall'elenco delle stringhe di connessione per l'account con il comando az cosmosdb keys list.

    az cosmosdb keys list --type connection-strings \
        --resource-group $resourceGroupName \
        --name $accountName 
    
  2. Registrare i valori PRIMARY KEY. Queste credenziali saranno necessarie più avanti.

Configurare le variabili di ambiente

Per usare i valori della STRINGA DI CONNESSIONE all'interno del codice, impostare questo valore nell'ambiente locale che esegue l'applicazione. Per impostare la variabile di ambiente, usare il terminale preferito per eseguire i comandi seguenti:

$env:COSMOS_CONNECTION_STRING = "<cosmos-connection-string>"

Creare MongoClient con la stringa di connessione

Definire una nuova istanza della classe MongoClient usando il costruttore e la variabile della stringa di connessione impostata in precedenza.

// New instance of CosmosClient class
var client = new MongoClient(Environment.GetEnvironmentVariable("COSMOS_CONNECTION_STRING"));

var settings = client.Settings;

Console.WriteLine(settings.Server.Host);

Usare le classi client MongoDB con Azure Cosmos DB per l'API per MongoDB

Prima di iniziare a compilare l'applicazione, verrà esaminata la gerarchia di risorse in Azure Cosmos DB. Azure Cosmos DB ha un modello a oggetti specifico usato per creare e accedere alle risorse. Azure Cosmos DB crea risorse in una gerarchia costituita da account, database, raccolte e documenti.

Diagramma della gerarchia di Azure Cosmos DB DB, inclusi account, database, raccolte e documenti.

Diagramma gerarchico che mostra al vertice un account DB di Azure Cosmos DB. L'account presenta due nodi database figlio. Uno dei nodi del database include due nodi raccolta figlio. L'altro nodo del database include un singolo nodo di raccolta figlio. Il nodo di raccolta singolo ha tre nodi di documento figlio.

Ogni tipo di risorsa è rappresentato da una o più classi C# associate. Ecco un elenco delle classi più comuni:

Classe Descrizione
MongoClient Questa classe fornisce una rappresentazione logica lato client per il livello dell'API per MongoDB in Azure Cosmos DB. L'oggetto client viene usato per configurare ed eseguire richieste nel servizio.
MongoDatabase Questa classe è un riferimento a un database che potrebbe esistere o meno nel servizio. Il database viene convalidato o creato lato server quando si tenta di eseguire un'operazione su di esso.
Collection Questa classe è un riferimento a una raccolta che può non esistere ancora nel servizio. La raccolta viene convalidata sul lato server quando si tenta di usarla.

Nelle guide seguenti viene illustrato come utilizzare ognuna di queste classi per creare l'applicazione e gestire i dati.

Guida:

Vedi anche

Passaggi successivi

Dopo aver eseguito la connessione a un account API for MongoDB, passare alla guida successiva per creare e gestire i database.