大家好,我正在研究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
答案 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