Aracılığıyla paylaş


JavaScript kullanarak NoSQL için Azure Cosmos DB'de veritabanı oluşturma

UYGULANANLAR: NoSQL

Azure Cosmos DB'deki veritabanları, bir veya daha fazla kapsayıcı için yönetim birimleridir. Kapsayıcıları oluşturabilmeniz veya yönetebilmeniz için önce bir veritabanı oluşturmanız gerekir.

Veritabanını adlandırma

Azure Cosmos DB'de veritabanı bir ad alanına benzer. Veritabanı oluşturduğunuzda, veritabanı adı veritabanı kaynağına ve alt kaynaklara erişmek için kullanılan URI'nin bir kesimini oluşturur.

Bir veritabanını adlandırırken bazı hızlı kurallar şunlardır:

  • Veritabanı adlarını 3 ile 63 karakter arasında tutma
  • Veritabanı adları yalnızca küçük harf, sayı veya tire (-) karakteri içerebilir.
  • Veritabanı adları küçük harf veya sayı ile başlamalıdır.

Oluşturulduktan sonra, bir veritabanının URI'si şu biçimdedir:

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

veritabanı oluşturun

CosmosClient'ı oluşturduktan sonra istemcisini kullanarak iki farklı çağrıdan veritabanı oluşturun:

  • createIfNotExists - Yoksa bir veritabanı oluşturur. Varsa, veritabanını döndür.
  • create - Veritabanı oluşturur. Varsa, statusCode hata kodunu döndür.
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 bir HTTP yanıt kodudur. Başarılı bir yanıt 200-299 aralığındadır.

Veritabanına erişme

Veritabanına Doğrudan Veritabanı nesnesinden veya CosmosClient'tan gelen bir sorgu sonucu aracılığıyla erişilir.

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();

Nesneye göre erişim:

  • Veritabanları (çoğul): Yeni veritabanları oluşturmak veya tüm veritabanlarını sorgulamak/okumak için kullanılır.
  • Veritabanı (tekil): Var olan bir veritabanını kimlikle okumak, güncelleştirmek veya silmek ya da bu veritabanına ait kapsayıcılara erişmek için kullanılır.

Veritabanı silme

Database nesnesini aldıktan sonra Database nesnesini kullanarak veritabanını silebilirsiniz:

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

statusCode bir HTTP yanıt kodudur. Başarılı bir yanıt 200-299 aralığındadır.

Sonraki adımlar

Artık bir veritabanı oluşturduğunuza göre, kapsayıcı oluşturmak için sonraki kılavuzu kullanın.