【问题标题】:Dynamo QuerySpec with GSIDynamo QuerySpec 与 GSI
【发布时间】:2017-04-27 00:21:20
【问题描述】:

我的表架构是

virtual_key(hashKey) 实际密钥(GSI)

现在我正在尝试根据我的实际键查询索引,如下所示

  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”吗?

【问题讨论】:

  • 你能显示你的数据吗?截图什么的?并描述表格输出。

标签: java amazon-dynamodb


【解决方案1】:
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());
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-22
    • 1970-01-01
    • 2015-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-26
    相关资源
    最近更新 更多