【发布时间】:2022-01-10 09:11:41
【问题描述】:
我想将以下 DynamoDB 项目的排序键从 FILE#789 更新为 FILE#790。从 DynamoDB 文档以及一些 StackOverflow 答案中,正确的方法是删除现有项目 (DeleteItem) 并使用更新的主键重新创建它 (PutItem),使用 TransactWriteItems 执行。
Item: {
"PK": {
"S": "USER#123"
},
"SK": {
"S": "FILE#789"
},
"fileName": {
"S": "Construction"
}
}
DeleteItem 很简单,因为我知道复合主键的值。但是要重新创建项目,我需要项目属性的最新值,然后执行PutItem。单独读取项目,然后在事务中执行 DeleteItem 和 PutItem 并不能保证使用项目属性的 最新 值重新创建项目。在这种情况下,处理项目主键更新的推荐方法是什么?
【问题讨论】:
标签: amazon-web-services transactions amazon-dynamodb