c#:如何通过编程方式为现有的DocumentDB集合扩展定价层



我希望能够从c#中修改现有DocumentDB集合的OfferType(例如定价层S2, S3等),但我没有看到Microsoft.Azure.Documents.DocumentCollection类的任何成员将促进这一点。

是否有其他方法可以提供此功能?

关于如何使用。net SDK更改DocumentDB集合的性能级别,请参阅此代码片段

https://azure.microsoft.com/en-gb/documentation/articles/documentdb-performance-levels/changing-performance-levels-using-the-net-sdk

// Query the "offers" feed to retrieve the offer for the collection
Offer offer = client.CreateOfferQuery()
                    .Where(r => r.ResourceLink == "collection selfLink")    
                    .AsEnumerable()
                    .SingleOrDefault();
//Change the offer type to S1, S2 or S3
offer.OfferType = "S3";
//Now update the "offer" resource
Offer updated = await client.ReplaceOfferAsync(offer);

下面是V2提供类型的更新示例,提供对DTU和新的每分钟RU标志的控制:

var collectionLink = UriFactory.CreateDocumentCollectionUri("databaseId","collectionName");
var response = await Client.ReadDocumentCollectionAsync(collectionLink);
var collection = response.Resource;
var results = await Client.CreateOfferQuery()
            .Where(o => o.ResourceLink == collection.SelfLink)
            .AsDocumentQuery()
            .ExecuteNextAsync<OfferV2>();
var offer = results.FirstOrDefault();
var updatedOffer = new OfferV2(offer, offerThroughput:800, offerEnableRUPerMinuteThroughput:true);
await Client.ReplaceOfferAsync(updatedOffer);

参见:https://msdn.microsoft.com/en-us/library/microsoft.azure.documents.offerv2.aspx

最新更新