簡體   English   中英

為什么我的 Azure Cosmos DB SQL API 容器拒絕具有相同分區鍵值的多個項目?

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

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