簡體   English   中英

在 Cosmos DB 中寫入數據時如何擁有自己的分區鍵

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM