如何使用全局二级索引的分区键更新项目

时间:2018-10-10 19:59:06

标签: java amazon-dynamodb

大家好,我正在研究dynamodb,并且对这项技术非常陌生,因此我对其进行了详细研究,自上周以来我一直陷入困境,找不到任何帮助。我想使用全局二级索引的分区键来更新和删除项目,而不是使用基本表的分区键。我无法使用分区键全局二级索引来更新和删除dynamodb中的项目。

 DynamoDB dyn = new DynamoDB(dynamoDB);
Table table = dyn.getTable(tableName);
com.amazonaws.services.dynamodbv2.document.Index index = 
table.getIndex(indexName);
index.updateItemRequest(); // not supported

2 个答案:

答案 0 :(得分:1)

您不能使用全局二级索引(GSI)的键删除项目。

要删除项目,您需要表的键(分区键+排序键)。获取此密钥的一种方法是查询GSI。

所以:GSI Key -> query on GSI -> Table Key -> Delete

更新的工作方式相同:GSI Keys -> query on GSI -> Table Key -> Update

答案 1 :(得分:0)

使用 GSI,您无法更新/删除记录。 为此,您必须使用索引检索记录的分区键。

供参考 - AWS Document for GSI