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

SI APPLICA A: NoSQL

I database in Azure Cosmos DB sono unità di gestione per uno o più contenitori. Prima di poter creare o gestire contenitori, è prima 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 forma un segmento dell'URI usato per accedere alla risorsa di database e a qualsiasi risorsa figlio.

Di seguito sono riportate alcune regole rapide per la denominazione di un database:

  • I nomi di database non devono essere vuoti.
  • I nomi di database non possono essere più lunghi di 256 caratteri.

Dopo la creazione, l'URI per un database è in questo formato:

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

Suggerimento

Per altre informazioni sui limiti dei nomi del database, vedere Quote e limiti del servizio

Creazione di un database

Per creare un database, chiamare uno dei metodi seguenti:

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 CosmosClient.CreateDatabaseAsync metodo genera un'eccezione se esiste già un database con lo stesso nome.

Creare un database in modo asincrono se non esiste già

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

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

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

Analisi della risposta

In tutti gli esempi finora, la risposta dalla richiesta asincrona è stata eseguita immediatamente al Database tipo. È possibile analizzare i metadati sulla 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 databaseResponse. Una volta restituito, è possibile analizzare le proprietà di risposta e quindi 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.