我希望能够从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