Is DynamoDB DeleteItem read-consistent?

0

Dear Experts,

DynamoDB GetItem operations can be read-consistent or not. But there isn't a corresponding setting for DeleteItem. So are DeleteItem operations consistent?

I.e. if one connection does a PutItem, and then another connection does a DeleteItem with the same key, is it guaranteed that the just-put item is actually deleted?

In my case I'm using SetReturnValues(ALL_OLD) to both read and delete an item, if that makes any difference.

Thanks, Phil.

已提问 2 年前1127 查看次数
2 回答
1
已接受的回答

Consistency is a term which relates to reads only. All write operations are atomic and will appear in the order they are received, so yes, if you call DeleteItem after a PutItem then it is guaranteed to be deleted.

However, if you call DeleteItem and then PutItem, the item will be there as the PutItem was the last called event. You can add logic to your PutItem with a ConditionExpression to only write if it does not already exist.

profile pictureAWS
专家
已回答 2 年前
0

Nice question....I can't find any specific documentation but a DeleteItem (as well as PutItem) operation would be considered a write operation and according to docs - "When your application writes data to a DynamoDB table and receives an HTTP 200 response (OK), the write has occurred and is durable".

AWS
专家
Peter_G
已回答 2 年前
  • I don't think that "durable" is the property that I need here. Remember the database "ACID" properties. C = consistent, D = durable. They're different things.

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则