DynamoDB - 使用散列和范围使用GetItemRequest的全局二级索引

时间:2015-02-11 21:23:26

标签: amazon-web-services amazon-dynamodb

我正在尝试使用Java AWS sdk来获取基于全局二级索引的文档。

设置如下:

哈希键: MyId - 数字

范围键: MyDate - 字符串

以下是我的代码:

Map<String, AttributeValue> key = new HashMap<String, AttributeValue>();
            key.put("MyId", new AttributeValue().withN("1234"));

            key.put("MyDate", new AttributeValue().withS("2014-10-12"));

        GetItemRequest go = new GetItemRequest().withTableName(tableName).withKey(key);
        GetItemResult result = getDynamoDBClient().getItem(gi);

但这总是会回归:

  

提供的关键元素与架构不匹配(服务:   AmazonDynamoDBv2;状态代码:400

我错了什么?

1 个答案:

答案 0 :(得分:1)

一些注意事项,首先你谈的是GSI,但是你正在用主键做GetItemRequest。所以也许你在问题中遗漏了一些东西。

您是否在问题中写了表格的主键或GSI定义?

GSI只能QueryGet仍然基于主键。