Creare un database in Azure Cosmos DB for NoSQL con .NET

SI APPLICA A: NoSQL

In Azure Cosmos DB, i database costituiscono unità di gestione per uno o più contenitori. Prima di poter creare o gestire contenitori, è necessario creare un database.

Assegnare un nome a un database

In Azure Cosmos DB, un database è analogo a uno spazio dei nomi. Quando si crea un database, il nome del database costituisce un segmento dell'URI usato per accedere alla risorsa di database e alle risorse figlio.

Ecco alcune regole rapide per la denominazione di un database:

  • I nomi di database non devono essere vuoti.
  • I nomi dei database possono contenere un massimo di 256 caratteri.

Dopo la creazione, l'URI per un database si presenta nel formato seguente:

https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>

Suggerimento

Per altre informazioni sui limiti dei nomi dei database, consultare quote e limiti del servizio

Creazione di un database

Per creare un database, usare uno dei seguenti metodi:

Creare un database in modo asincrono

Nell'esempio seguente viene creato un database in modo asincrono:

// New instance of Database class referencing the server-side database
Database database1 = await client.CreateDatabaseAsync(
    id: "adventureworks-1"
);

Il metodo CosmosClient.CreateDatabaseAsync genera un'eccezione se esiste già un database con lo stesso nome.

Creare un database in modo asincrono se non è già presente

Nell'esempio seguente viene creato un database in modo asincrono solo se non ne esiste già uno nell'account:

// New instance of Database class referencing the server-side database
Database database2 = await client.CreateDatabaseIfNotExistsAsync(
    id: "adventureworks-2"
);

Il metodo CosmosClient.CreateDatabaseIfNotExistsAsync crea un nuovo database solo se non ne esiste già uno. Questo metodo è utile per evitare errori se si esegue lo stesso codice più volte.

Analisi delle risposte

In tutti gli esempi riportati fino a questo punto, la risposta dalla richiesta asincrona è stata immediatamente trasmessa al tipo di Database. È possibile analizzare i metadati relativi alla risposta, incluse le intestazioni e il codice di stato HTTP. Il tipo restituito true per i metodi CosmosClient.CreateDatabaseAsync e CosmosClient.CreateDatabaseIfNotExistsAsync è DatabaseResponse.

Nell'esempio seguente viene illustrato il metodo CosmosClient.CreateDatabaseIfNotExistsAsync che restituisce un oggetto DatabaseResponse. Una volta restituito, è possibile analizzare le proprietà della risposta e quindi eventualmente ottenere l'oggetto Database sottostante:

// New instance of Database response class referencing the server-side database
DatabaseResponse response = await client.CreateDatabaseIfNotExistsAsync(
    id: "adventureworks-3"
);
// Parse additional response properties
Database database3 = response.Database;

Passaggi successivi

Dopo aver creato un database, usare la guida successiva per creare contenitori.