Для поддержки разбиения на разделы документа необходимо иметь версию SDK версии 1.6.0 или новее. Используя 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 });
Примечание:
Для создания секционированных подборок вам необходимо указать значение> 10000 запросов единиц в секунду throughput
. Поскольку пропускная способность составляет 100, это должно быть 10 100 или выше.
Итак, когда ваш OfferThroughput
установлен менее чем 20000, тогда ваша коллекция будет Single Partition.
Просто небольшая коррекция в ответе Арама. Я думаю, вы имеете в виду, когда пропускная способность установлена меньше 10000, тогда ваша коллекция имеет один раздел. Более подробная информация доступна на странице https://github.com/Azure/azure-content/blob/master/articles/documentdb/documentdb-partition-data.md. –