Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
GEÇERLİ OLDUĞU: NoSQL
Azure Cosmos DB'deki kapsayıcılar öğe kümelerini depolar. Öğeleri oluşturabilmeniz, sorgulayabilmeniz veya yönetebilmeniz için önce bir kapsayıcı oluşturmanız gerekir.
Kapsayıcıyı adlandırma
Azure Cosmos DB'de kapsayıcı, ilişkisel veritabanındaki tabloya benzer. Kapsayıcı oluşturduğunuzda, kapsayıcı adı kapsayıcı kaynağına ve alt öğelere erişmek için kullanılan URI'nin bir kesimini oluşturur.
Oluşturulduktan sonra kapsayıcının URI'si şu biçimdedir:
https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>/colls/<container-name>
Kapsayıcı oluşturma
Veritabanı nesnesi alın ve bir Kapsayıcı oluşturun:
- createIfNotExists - Eğer mevcut değilse bir kapsayıcı oluşturur. Varsa kapsayıcıyı döndür.
- create - Kapsayıcı oluşturur. Eğer mevcutsa, hata durumu kodunu döndürün.
const containerName = 'myContainer';
// Possible results:
// Create then return container
// Return existing container
// Return error statusCode
const { statusCode, container } = await database.containers.createIfNotExists({ id: containerName });
// Possible results:
// Create then return container
// Return error statusCode, reason includes container already exists
const { statusCode, container} = await database.containers.create({ id: containerName });
statusCode bir HTTP yanıt kodudur. Başarılı bir yanıt 200-299 aralığındadır.
Kapsayıcıya erişme
Bir kapsayıcıya, ya doğrudan Container nesnesinden ya da CosmosClient veya Database nesnelerinden zincirlenerek erişilebilir.
const databaseName = 'myDb';
const containerName = 'myContainer';
// Chained - assumes database and container already exis
const { container, statusCode } = await client.database(databaseName).container(containerName);
// Direct - assumes database and container already exist
const { database, statusCode } = await client.database(databaseName);
if(statusCode < 400){
const { container, statusCode } = await database.container(containerName);
}
// Query - assumes database and container already exist
const { resources } = await client.database(databaseName).containers
.query({
query: `SELECT * FROM root r where r.id =@containerId`,
parameters: [
{
name: '@containerId',
value: containerName
}
]
})
.fetchAll();
Nesneye göre erişim:
- Kapsayıcılar (çoğul): Kapsayıcı oluşturma veya sorgulama.
- Kapsayıcı (tekil): Kapsayıcıyı silin, öğelerle çalışın.
Bir kapsayıcıyı sil
Container nesnesini aldıktan sonra Kapsayıcı nesnesini kullanarak kapsayıcıyı silebilirsiniz:
const { statusCode } = await container.delete();
statusCode bir HTTP yanıt kodudur. Başarılı bir yanıt 200-299 aralığındadır.
Sonraki adımlar
Artık bir kapsayıcı oluşturduğunuza göre, öğeleri oluşturmak için sonraki kılavuzu kullanın.