Condividi tramite


Creare un database in Azure Cosmos DB per NoSQL usando JavaScript

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.

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

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

Creazione di un database

Dopo aver creato CosmosClient, usare il client per creare un Database da due diverse chiamate:

  • createIfNotExists: crea un contenitore, se non ne esiste già uno. Se invece esiste, restituisce come risultato il contenitore.
  • create: crea un database. Se esiste, restituisce l'errore StatusCode.
const databaseName = 'myDb';

// Possible results:
// Create then return database
// Return existing database
// Return error statusCode
const {statusCode, database } = await client.databases.createIfNotExists({ id: databaseName });

// Possible results: 
// Create then return database
// Return error statusCode, reason includes database already exists
const {statusCode, database } = await client.databases.create({ id: databaseName });

StatusCode è un codice di risposta HTTP. Una risposta con esito positivo rientra nell'intervallo 200-299.

Accedere a un database

È possibile accedere a un database direttamente dall'oggetto Database o tramite un risultato di query da CosmosClient.

const databaseName = 'myDb';

// Direct - assumes database already exists
const { database, statusCode } = await client.database(databaseName);

// Query - assumes database already exists   
const { resources } = await client.databases
.query({
    query: `SELECT * FROM root r where r.id =@dbId`,
    parameters: [
    {
        name: '@dbId',
        value: databaseName
    }
    ]
})
.fetchAll();

Accesso in base all'oggetto:

  • Databases (plurale): usato per creare nuovi database, eseguire query o leggere tutti i database.
  • Database (singolare): usato per leggere, aggiornare o eliminare un database esistente in base all'ID o all'accesso ai contenitori appartenenti a tale database.

Eliminare un database

Dopo aver ottenuto l'oggetto Database, è possibile utilizzare l'oggetto Database per eliminare il database:

const {statusCode } = await database.delete();

StatusCode è un codice di risposta HTTP. Una risposta con esito positivo rientra nell'intervallo 200-299.

Passaggi successivi

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