【发布时间】:2014-07-25 10:36:22
【问题描述】:
我有以下 DynamoDB 查询,它返回第一条记录,其哈希 apple 和时间戳小于 some_timestamp。
Map<String, Condition> keyConditions = newHashMap();
keyConditions.put("HASH", new Condition().
withComparisonOperator(EQ).
withAttributeValueList(new AttributeValue().withS("apple")))
);
keyConditions.put("TIMESTAMP", new Condition().
withComparisonOperator(LE).
withAttributeValueList(new AttributeValue().withN(some_timestamp)))
);
QueryResult queryResult = dynamoDBClient.query(
new QueryRequest().
withTableName("TABLE").
withKeyConditions(keyConditions).
withLimit(1).
withScanIndexForward(SCAN_INDEX_FORWARD)
);
我需要执行许多此类查询,所以我的问题是:是否可以批量执行这些查询?类似于以下 API。
Map<String, Condition> keyConditions = newHashMap();
keyConditions.put("HASH", new Condition().
withComparisonOperator(EQ).
withAttributeValueList(new AttributeValue().withS("apple")))
);
keyConditions.put("TIMESTAMP", new Condition().
withComparisonOperator(LE).
withAttributeValueList(new AttributeValue().withN(some_timestamp)))
);
QueryRequest one = new QueryRequest().
withTableName("TABLE").
withKeyConditions(keyConditions).
withLimit(1).
withScanIndexForward(SCAN_INDEX_FORWARD);
keyConditions = newHashMap();
keyConditions.put("HASH", new Condition().
withComparisonOperator(EQ).
withAttributeValueList(new AttributeValue().withS("pear")))
);
keyConditions.put("TIMESTAMP", new Condition().
withComparisonOperator(LE).
withAttributeValueList(new AttributeValue().withN(some_other_timestamp)))
);
QueryRequest two = new QueryRequest().
withTableName("TABLE").
withKeyConditions(keyConditions).
withLimit(1).
withScanIndexForward(SCAN_INDEX_FORWARD)
ArrayList<String> queryRequests = new ArrayList<String>() {{
add(one);
add(two);
}};
List<QueryResult> queryResults = dynamoDBClient.query(queryRequests);
【问题讨论】:
-
你可以使用batchGetItem API..docs.aws.amazon.com/amazondynamodb/latest/APIReference/…
-
我不相信我可以 Harshal,因为文档的第一行指出“BatchGetItem 操作从一个或多个表中返回一个或多个项目的属性。您通过主键识别请求的项目。 "但是我想有效地根据keyConditions进行查询(HASH ==“apple”)AND(TIMESTAMP
-
我觉得没有批量查询API
-
这是在 dynamoDB docs.aws.amazon.com/amazondynamodb/latest/developerguide/…987654322@
标签: amazon-dynamodb