[英]Azure Cosmos DB - difference in how the partition key is supplied to query?
[英]How to have your own partition key while writing data in Cosmos DB
我正在使用下面的代碼在 Cosmos Db 中編寫我的內容,但是在 Cosmos Db 中,我看到分區鍵是自動生成的,它用於我保留為默認值的 Id。 我的要求是擁有自己的分區鍵。 從我下面的 json 我希望 TypeId 成為我的分區鍵我該如何在下面的代碼中做到這一點?
內容是JObject類型,格式如下 {{
"Classes": {
"Subjects": {
"Name": "testA",
"TypeId": "AS88QW",
"Public": "No"
},
"Sections": {
"Scopes": true
}
}
C# 代碼:
// initialized database settings and read json file as string....
var content = JsonConvert.DeserializeObject<JObject>( lines );
var client = new DocumentClient( new Uri(Instance ), Key );
await client.CreateDocumentAsync(UriFactory.CreateDocumentCollectionUri(
Database, Collection ),
content);
}
創建容器時,您可以在 JSON 文檔中指定作為屬性路徑的分區鍵。 我的猜測是,當您(或其他人)創建容器時, /id
被選為分區鍵。
考慮到容器的分區鍵無法更改,您需要做的是創建一個新容器。 創建新容器時,請確保將分區鍵屬性設置為/Classes/Subjects/TypeId
。
您可以通過將多個屬性值連接到單個人工 partitionKey 屬性中來形成分區鍵。
請按照以下頁面中的步驟操作: https://www.c-sharpcorner.com/article/understanding-partitioning-and-partition-key-in-azure-cosmos-db/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.