.NET kullanarak NoSQL için Azure Cosmos DB'de kapsayıcı oluşturma
UYGULANANLAR: 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.
Kapsayıcıyı adlandırırken bazı hızlı kurallar şunlardır:
- Kapsayıcı adları boş olmamalıdır.
- Kapsayıcı adları 256 karakterden uzun olamaz.
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>
İpucu
Kapsayıcı adı sınırları hakkında daha fazla bilgi için bkz. hizmet kotaları ve sınırları
Kapsayıcı oluşturma
Kapsayıcı oluşturmak için aşağıdaki yöntemlerden birini çağırın:
Zaman uyumsuz olarak kapsayıcı oluşturma
Aşağıdaki örnek zaman uyumsuz olarak bir kapsayıcı oluşturur:
// New instance of Container class referencing the server-side container
Container container1 = await database.CreateContainerAsync(
id: "products-1",
partitionKeyPath: "/category",
throughput: 400
);
yöntemi, Database.CreateContainerAsync
aynı ada sahip bir veritabanı zaten varsa bir özel durum oluşturur.
Henüz yoksa zaman uyumsuz olarak bir kapsayıcı oluşturma
Aşağıdaki örnek, yalnızca hesapta henüz mevcut olmayan bir kapsayıcıyı zaman uyumsuz olarak oluşturur:
// New instance of Container class referencing the server-side container
Container container2 = await database.CreateContainerIfNotExistsAsync(
id: "products-2",
partitionKeyPath: "/category",
throughput: 400
);
Database.CreateContainerIfNotExistsAsync
yöntemi yalnızca henüz mevcut değilse yeni bir kapsayıcı oluşturur. Bu yöntem, aynı kodu birden çok kez çalıştırırsanız hatalardan kaçınmak için kullanışlıdır.
Yanıtı ayrıştırma
Şimdiye kadarki tüm örneklerde, zaman uyumsuz istekten gelen yanıt hemen türüne Container
iletildi. Üst bilgiler ve HTTP durum kodu dahil olmak üzere yanıt hakkındaki meta verileri ayrıştırmak isteyebilirsiniz. Database.CreateContainerAsync ve Database.CreateContainerIfNotExistsAsync yöntemleri için gerçek dönüş türü: ContainerResponse
.
Aşağıdaki örnekte ContainerResponse döndüren Database.CreateContainerIfNotExistsAsync yöntemi gösterilmektedir. Döndürüldükten sonra yanıt özelliklerini ayrıştırabilir ve sonunda temel container nesnesini alabilirsiniz:
// New instance of Container class referencing the server-side container
ContainerResponse response = await database.CreateContainerIfNotExistsAsync(
id: "products-3",
partitionKeyPath: "/category",
throughput: 400
);
// Parse additional response properties
Container container3 = response.Container;
Sonraki adımlar
Artık bir kapsayıcı oluşturduğunuza göre, öğeleri oluşturmak için sonraki kılavuzu kullanın.