3
我有以下DynamoDB查詢與哈希蘋果和時間戳小於some_timestamp返回的第一條記錄。DynamoDB一批執行QueryRequests
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..http://文檔.aws.amazon.com/amazondynamodb/latest/APIReference/API_BatchGetItem.html –
我不相信我可以Harshal,因爲該文檔的第一行指出「BatchGetItem操作返回一個或多個表中的一個或多個項目的屬性。您可以通過主鍵識別請求的項目。「然而,我想基於keyConditions有效地查詢(HASH ==「apple」)和(TIMESTAMP <= some_timestamp)......據我所知,BatchGetItem只允許你指定(HASH ==「apple」)。 –
我不認爲有批量查詢API –