basic_one
basic_one

Reputation: 245

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?

Upvotes: 2

Views: 608

Answers (2)

Nalin Jayasuriya
Nalin Jayasuriya

Reputation: 407

I know it's been a while since this question was asked. The quick solution is to delete the container, re-create it, and proceed with adding the documents.

Upvotes: 0

Sajeetharan
Sajeetharan

Reputation: 222657

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

Upvotes: 1

Related Questions