use of com.amazonaws.services.dynamodbv2.model.QueryResult in project aws-doc-sdk-examples by awsdocs.
the class LowLevelQuery method findRepliesInLast15DaysWithConfig.
private static void findRepliesInLast15DaysWithConfig(String forumName, String threadSubject) {
long twoWeeksAgoMilli = (new Date()).getTime() - (15L * 24L * 60L * 60L * 1000L);
Date twoWeeksAgo = new Date();
twoWeeksAgo.setTime(twoWeeksAgoMilli);
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
String twoWeeksAgoStr = df.format(twoWeeksAgo);
Condition sortKeyCondition = new Condition().withComparisonOperator(ComparisonOperator.GT.toString()).withAttributeValueList(new AttributeValue().withS(twoWeeksAgoStr));
Map<String, Condition> keyConditions = makeReplyKeyConditions(forumName, threadSubject);
keyConditions.put("ReplyDateTime", sortKeyCondition);
QueryRequest queryRequest = new QueryRequest().withTableName(tableName).withKeyConditions(keyConditions).withProjectionExpression("Message, ReplyDateTime, PostedBy");
QueryResult result = client.query(queryRequest);
for (Map<String, AttributeValue> item : result.getItems()) {
printItem(item);
}
}
use of com.amazonaws.services.dynamodbv2.model.QueryResult in project aws-doc-sdk-examples by awsdocs.
the class LowLevelQuery method findRepliesUsingAFilterExpression.
private static void findRepliesUsingAFilterExpression(String forumName, String threadSubject) {
Map<String, Condition> keyConditions = makeReplyKeyConditions(forumName, threadSubject);
Map<String, AttributeValue> expressionAttributeValues = new HashMap<String, AttributeValue>();
expressionAttributeValues.put(":val", new AttributeValue().withS("User B"));
QueryRequest queryRequest = new QueryRequest().withTableName(tableName).withKeyConditions(keyConditions).withFilterExpression("PostedBy = :val").withExpressionAttributeValues(expressionAttributeValues).withProjectionExpression("Message, ReplyDateTime, PostedBy");
QueryResult result = client.query(queryRequest);
for (Map<String, AttributeValue> item : result.getItems()) {
printItem(item);
}
}
use of com.amazonaws.services.dynamodbv2.model.QueryResult in project camel by apache.
the class QueryCommand method execute.
@Override
public void execute() {
QueryResult result = ddbClient.query(new QueryRequest().withTableName(determineTableName()).withAttributesToGet(determineAttributeNames()).withConsistentRead(determineConsistentRead()).withExclusiveStartKey(determineStartKey()).withKeyConditions(determineKeyConditions()).withExclusiveStartKey(determineStartKey()).withLimit(determineLimit()).withScanIndexForward(determineScanIndexForward()));
Map tmp = new HashMap<>();
tmp.put(DdbConstants.ITEMS, result.getItems());
tmp.put(DdbConstants.LAST_EVALUATED_KEY, result.getLastEvaluatedKey());
tmp.put(DdbConstants.CONSUMED_CAPACITY, result.getConsumedCapacity());
tmp.put(DdbConstants.COUNT, result.getCount());
addToResults(tmp);
}
use of com.amazonaws.services.dynamodbv2.model.QueryResult in project camel by apache.
the class AmazonDDBClientMock method query.
@SuppressWarnings("unchecked")
@Override
public QueryResult query(QueryRequest queryRequest) {
this.queryRequest = queryRequest;
ConsumedCapacity consumed = new ConsumedCapacity();
consumed.setCapacityUnits(1.0);
Map<String, AttributeValue> lastEvaluatedKey = new HashMap<String, AttributeValue>();
lastEvaluatedKey.put("1", new AttributeValue("LAST_KEY"));
return new QueryResult().withConsumedCapacity(consumed).withCount(1).withItems(getAttributes()).withLastEvaluatedKey(lastEvaluatedKey);
}
use of com.amazonaws.services.dynamodbv2.model.QueryResult in project jcabi-dynamo by jcabi.
the class QueryValve method count.
@Override
public int count(final Credentials credentials, final String table, final Map<String, Condition> conditions) throws IOException {
final AmazonDynamoDB aws = credentials.aws();
try {
QueryRequest request = new QueryRequest().withTableName(table).withReturnConsumedCapacity(ReturnConsumedCapacity.TOTAL).withKeyConditions(conditions).withConsistentRead(this.consistent).withSelect(Select.COUNT).withLimit(Integer.MAX_VALUE);
if (!this.index.isEmpty()) {
request = request.withIndexName(this.index);
}
final long start = System.currentTimeMillis();
final QueryResult rslt = aws.query(request);
final int count = rslt.getCount();
Logger.info(this, // @checkstyle LineLength (1 line)
"#total(): COUNT=%d in '%s' using %s, %s, in %[ms]s", count, request.getTableName(), request.getQueryFilter(), new PrintableConsumedCapacity(rslt.getConsumedCapacity()).print(), System.currentTimeMillis() - start);
return count;
} catch (final AmazonClientException ex) {
throw new IOException(String.format("Failed to count from \"%s\" by %s", table, conditions), ex);
} finally {
aws.shutdown();
}
}
Aggregations