Esercizio: Creare risorse usando Microsoft .NET SDK v3
In questo esercizio si creerà un'app console per eseguire le operazioni seguenti in Azure Cosmos DB:
- collegarsi a un account di Azure Cosmos DB
- Creazione di un database
- Creare un contenitore
Prerequisiti
Un account Azure con una sottoscrizione attiva. Se non è ancora disponibile alcuna sottoscrizione, è possibile registrarsi per una valutazione gratuita all'indirizzo https://azure.com/free.
Visual Studio Code in una delle piattaforme supportate.
.NET 8 è il framework di destinazione per i passaggi seguenti.
Estensione C# per Visual Studio Code.
La versione più recente degli strumenti dell'interfaccia della riga di comando di Azure installata in locale.
Configurazione
Eseguire le azioni seguenti per preparare Azure e l'ambiente locale per l'esercizio.
Connessione ad Azure
Avviare Visual Studio Code e aprire una finestra del terminale selezionando Terminale nella barra dell'applicazione in alto, quindi selezionando Nuovo terminale.
Accedere ad Azure usando il comando seguente. Verrà aperta una finestra del browser dove sarà possibile scegliere l'account con cui accedere.
az login
Creare risorse in Azure
Creare un gruppo di risorse con le risorse necessarie per questo esercizio. Sostituire
<myLocation>
con un'area vicina.az group create --location <myLocation> --name az204-cosmos-rg
Creare l'account di Azure Cosmos DB. Sostituire
<myCosmosDBacct>
con un nome univoco per identificare l'account di Azure Cosmos DB. Il nome può contenere solo lettere minuscole, numeri e il segno meno (-). Deve avere una lunghezza compresa tra 3 e 31 caratteri. Il completamento di questo comando richiede alcuni minuti.az cosmosdb create --name <myCosmosDBacct> --resource-group az204-cosmos-rg
Registrare l'oggetto
documentEndpoint
visualizzato nella risposta JSON, che verrà usato più avanti nell'esercizio.Recuperare la chiave primaria per l'account usando il comando riportato di seguito. Registrare
primaryMasterKey
dai risultati del comando da usare nel codice.# Retrieve the primary key az cosmosdb keys list --name <myCosmosDBacct> --resource-group az204-cosmos-rg
Configurare l'applicazione console
Dopo aver distribuito le risorse necessarie in Azure, il passaggio successivo consiste nel configurare l'applicazione console usando la stessa finestra del terminale in Visual Studio Code.
Creare una cartella per il progetto e passare alla cartella.
md az204-cosmos cd az204-cosmos
Creare un'app console .NET.
dotnet new console
Aprire la cartella in Visual Studio Code usando il comando seguente. L'opzione
-r
apre la cartella senza avviare una nuova finestra di Visual Studio Code.code . -r
Selezionare il file Program.cs nel riquadro Esplora risorse per aprire il file nell'editor.
Compilare l'app console
È ora di iniziare ad aggiungere i pacchetti e il codice al progetto.
Aggiungere pacchetti e istruzioni using
Aprire il terminale in Visual Studio Code e usare il comando seguente per aggiungere il
Microsoft.Azure.Cosmos
pacchetto al progetto.dotnet add package Microsoft.Azure.Cosmos
Eliminare eventuale codice esistente nel file
Program.cs
e aggiungere l'istruzioneusing Microsoft.Azure.Cosmos
.using Microsoft.Azure.Cosmos;
Aggiungere codice per connettersi a un account Azure Cosmos DB
Aggiungere il frammento di codice seguente dopo l'istruzione
using
. Il frammento di codice aggiunge costanti e variabili alla classe e aggiunge alcuni controlli degli errori. Assicurarsi di sostituire i valori segnaposto perEndpointUri
ePrimaryKey
seguendo le indicazioni nei commenti del codice.public class Program { // Replace <documentEndpoint> with the information created earlier private static readonly string EndpointUri = "<documentEndpoint>"; // Set variable to the Primary Key from earlier. private static readonly string PrimaryKey = "<your primary key>"; // The Cosmos client instance private CosmosClient cosmosClient; // The database we will create private Database database; // The container we will create. private Container container; // The names of the database and container we will create private string databaseId = "az204Database"; private string containerId = "az204Container"; public static async Task Main(string[] args) { try { Console.WriteLine("Beginning operations...\n"); Program p = new Program(); await p.CosmosAsync(); } catch (CosmosException de) { Exception baseException = de.GetBaseException(); Console.WriteLine("{0} error occurred: {1}", de.StatusCode, de); } catch (Exception e) { Console.WriteLine("Error: {0}", e); } finally { Console.WriteLine("End of program, press any key to exit."); Console.ReadKey(); } } //The sample code below gets added below this line }
Sotto il metodo
Main
aggiungere una nuova attività asincrona denominataCosmosAsync
, che crea un'istanza del nuovoCosmosClient
e aggiunge codice per chiamare i metodi aggiunti in seguito per creare un database e un contenitore.public async Task CosmosAsync() { // Create a new instance of the Cosmos Client this.cosmosClient = new CosmosClient(EndpointUri, PrimaryKey); // Runs the CreateDatabaseAsync method await this.CreateDatabaseAsync(); // Run the CreateContainerAsync method await this.CreateContainerAsync(); }
Creazione di un database
Copiare e incollare il metodo CreateDatabaseAsync
seguente dopo il metodo CosmosAsync
. CreateDatabaseAsync
crea un nuovo database con ID az204Database
se non esiste già.
private async Task CreateDatabaseAsync()
{
// Create a new database using the cosmosClient
this.database = await this.cosmosClient.CreateDatabaseIfNotExistsAsync(databaseId);
Console.WriteLine("Created Database: {0}\n", this.database.Id);
}
Creazione di un contenitore
Copiare e incollare il metodo CreateContainerAsync
sotto il metodo CreateDatabaseAsync
.
private async Task CreateContainerAsync()
{
// Create a new container
this.container = await this.database.CreateContainerIfNotExistsAsync(containerId, "/LastName");
Console.WriteLine("Created Container: {0}\n", this.container.Id);
}
Eseguire l'applicazione
Salvare il lavoro e, in un terminale in Visual Studio Code e verificare se sono presenti errori eseguendo il comando
dotnet build
. Eseguire il comandodotnet run
se la compilazione ha esito positivo. La console visualizza l'output seguente.Beginning operations... Created Database: az204Database Created Container: az204Container End of program, press any key to exit.
Per verificare i risultati, aprire il portale di Azure, passare alla risorsa Azure Cosmos DB e usare Esplora dati per visualizzare il database e il contenitore.
Pulire le risorse di Azure
È ora possibile eliminare in modo sicuro il gruppo di risorse az204-cosmos-rg dall'account eseguendo il comando riportato sotto.
az group delete --name az204-cosmos-rg --no-wait