我的表架构是
virtual_key(hashKey) actual_key(GSI)
现在我正在尝试根据我的actual_key查询索引,如下所示
final QuerySpec spec = new QuerySpec()
.withHashKey("actual_key", "1234");
final Index index = table.getIndex("actual_key");
final ItemCollection<QueryOutcome> result = index.query(spec);
我很确定项目'actual_key:1234'确实存在于我的表中,但我得到一个空的结果集。 注意:我甚至尝试过
final QuerySpec spec = new QuerySpec()
.withKeyConditionExpression("actual_key = :v_key")
.withValueMap(new ValueMap().withString(":v_key","1234"));
我不明白我在哪里弄错了?和 我们可以为GSI使用'.withHashKey'吗?
答案 0 :(得分:0)
QuerySpec spec = new QuerySpec()
.withKeyConditionExpression("actual_key = :actualKey")
.withValueMap(new ValueMap()
.withString(":actualKey","1234"));
ItemCollection<QueryOutcome> items = index.query(spec);
Iterator<Item> iter = items.iterator();
while (iter.hasNext()) {
System.out.println(iter.next().toJSONPretty());
}