2016-10-05 1 views
2

Microsoft.Azure.DocumentDB를 사용하여 azure documentDB에 컬렉션을 만드는 샘플 코드가 있습니다. 그러나 C#을 사용하여 다른 파티션 모드로 컬렉션을 만드는 방법에 대한 정보를 찾을 수 없었습니다.다른 파티션 모드로 Azure DocumentDB에 컬렉션 만들기

포털에는 단일 파티션 및 파티션 된 두 가지 모드가 있습니다.

Microsoft.Azure.DocumentDB를 사용하여 컬렉션을 만들 때 사용할 수 있습니까?

답변

3

Document DB Partitioning을 지원하려면 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 }); 

참고 :

분할 모음집을 제작하기 위해, 초당> 10,000 요청 단위의 throughput 값을 지정해야합니다. 처리량은 100의 배수이기 때문에 10,100 또는 그 이상이어야합니다.

OfferThroughput을 20000 미만으로 설정하면 컬렉션이 단일 파티션이됩니다.

+0

Aram의 응답에 약간의 수정이 있습니다. 처리량이 10000 미만으로 설정되면 컬렉션에 단일 파티션이있는 것입니다. 자세한 내용은 https://github.com/Azure/azure-content/blob/master/articles/documentdb/documentdb-partition-data.md에서 확인할 수 있습니다. –