简体   繁体   中英

Why does my Azure Cosmos DB SQL API Container Refuse Multiple Items With Same Partition Key Value?

In Azure Cosmos DB (SQL API) I've created a container whose "partition key" is set to /part_key and I am now trying to create and edit data in Data Explorer.

I created an item that looks like this:

{
    "id": "test_id",
    "value": "val000",
    "magicNumber": 32,
    "part_key": "asdf"
}

I am now trying to create an item that looks like this:

{
    "id": "frank",
    "value": "val001",
    "magicNumber": 33,
    "part_key": "asdf"
}

Based on the documentation I believe that each item within a partition key needs a distinct id , which to me implies that multiple items can in fact share a partition key, which makes a lot of sense.

However, I get an error when I try to save this second item:

{"code":409,"body":{"code":"Conflict","message":"Entity with the specified id already exists in the system...

I see that if I change the value of part_key to something else (say asdf2 ), then I can save this new item.

Either my expectations about this functionality are wrong, or else I'm doing this wrong somehow. What is wrong here?

Your understanding is correct, It could happen if you are trying to instead a new document with id equal to id of the existing document. This is not allowed, so operation fails.

Before you insert the modified copy, you need to assign a new id to it. I tested the scenario and it looks fine. May be try to create a new document and check

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM