.NET kullanarak NoSQL için Azure Cosmos DB'de kapsayıcı oluşturma

ŞUNUN IÇIN GEÇERLIDIR: 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 kapsayıcı oluşturma

Aşağıdaki örnek, yalnızca hesapta zaten 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 yoksa yeni bir kapsayıcı oluşturur. Bu yöntem, aynı kodu birden çok kez çalıştırdığınızda 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ürdü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.