在不同分区模式的Azure DocumentDB中创建Collection

本文关键字:DocumentDB 创建 Collection Azure 分区 模式 | 更新日期: 2023-09-27 18:11:58

有一些使用Microsoft.Azure.DocumentDB在azure documentDB中创建集合的示例代码。但是,我找不到关于如何使用c#创建不同分区模式的集合的信息。

从门户,有两种模式:Single Partition和Partitioned。

我们可以使用一个或另一个使用Microsoft.Azure.DocumentDB创建集合?

在不同分区模式的Azure DocumentDB中创建Collection

需要SDK Version 1.6.0或更新版本才能支持Document DB Partitioning。使用SDK,您需要设置OfferThroughput值,如下所示。

在本例中,我们将/deviceId设置为分区键。

DocumentClient client = new DocumentClient(new Uri(endpoint), authKey);
await client.CreateDatabaseAsync(new Database { Id = "db" });
// Collection for device telemetry. Here the JSON property deviceId will be used as the partition key to 
// spread across partitions. Configured for 10K RU/s throughput and an indexing policy that supports 
// sorting against any number or string property.
DocumentCollection myCollection = new DocumentCollection();
myCollection.Id = "coll";
myCollection.PartitionKey.Paths.Add("/deviceId");
await client.CreateDocumentCollectionAsync(
    UriFactory.CreateDatabaseUri("db"),
    myCollection,
    new RequestOptions { OfferThroughput = 20000 });

注意:

为了创建分区集合,你必须指定一个throughput值> 10,000请求单位/秒。由于吞吐量是100的倍数,因此该值必须为10,100或更高。

因此,当您的OfferThroughput设置为小于20000,那么您的集合将是单个分区。