[英]Why does my Azure Cosmos DB SQL API Container Refuse Multiple Items With Same Partition Key Value?
在 Azure Cosmos DB (SQL API) 中,我創建了一個容器,其“分區鍵”設置為/part_key
,我現在正嘗試在 Data Explorer 中創建和編輯數據。
我創建了一個看起來像這樣的項目:
{
"id": "test_id",
"value": "val000",
"magicNumber": 32,
"part_key": "asdf"
}
我現在正在嘗試創建一個如下所示的項目:
{
"id": "frank",
"value": "val001",
"magicNumber": 33,
"part_key": "asdf"
}
根據文檔,我認為分區鍵中的每個項目都需要一個不同的id
,這對我來說意味着多個項目實際上可以共享一個分區鍵,這很有意義。
但是,當我嘗試保存第二項時出現錯誤:
{"code":409,"body":{"code":"Conflict","message":"Entity with the specified id already exists in the system...
我看到如果我將part_key
的值更改為其他值(比如asdf2
),那么我可以保存這個新項目。
要么我對這個功能的期望是錯誤的,要么我做錯了。 這里有什么問題?
您的理解是正確的,如果您嘗試使用 id 等於現有文檔的 id 的新文檔,則可能會發生這種情況。 這是不允許的,因此操作失敗。
在插入修改后的副本之前,您需要為其分配一個新的 id。 我測試了這個場景,它看起來不錯。 可能會嘗試創建一個新文檔並檢查
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.