Example usage for com.amazonaws.services.dynamodbv2.model QueryRequest QueryRequest

List of usage examples for com.amazonaws.services.dynamodbv2.model QueryRequest QueryRequest

Introduction

In this page you can find the example usage for com.amazonaws.services.dynamodbv2.model QueryRequest QueryRequest.

Prototype

public QueryRequest(String tableName) 

Source Link

Document

Constructs a new QueryRequest object.

Usage

From source file:awslabs.lab51.SolutionCode.java

License:Open Source License

@Override
public Boolean isImageInDynamo(AmazonDynamoDBClient dynamoDbClient, String tableName, String key) {
    QueryRequest queryRequest = new QueryRequest(tableName).withConsistentRead(true);
    queryRequest.addKeyConditionsEntry("Key",
            new Condition().withComparisonOperator("EQ").withAttributeValueList(new AttributeValue(key)));

    return (dynamoDbClient.query(queryRequest).getCount() > 0);
}

From source file:com.vivastream.dynamodb.core.DynamoDBTemplate.java

License:Apache License

public <T> List<T> query(String tableName, String indexName, Map<String, Condition> keyConditions,
        final ObjectExtractor<T> extractor, String... columnsToInclude) throws EmptyResultDataAccessException {
    Assert.notNull(tableName, "Table must not be null");
    Assert.notNull(extractor, "ObjectExtractor must not be null");
    if (logger.isDebugEnabled()) {
        logger.debug("Executing query on " + tableName + " for " + renderKey(keyConditions));
    }/*from  ww w . ja  v a 2s.c o m*/

    QueryRequest request = new QueryRequest(tableName) //
            .withConsistentRead(false) // because query is used on GSIs [where consistent reads are not supported] - if we needed to query on the primary index could make this a parameter
            .withKeyConditions(keyConditions);

    if (columnsToInclude != null && columnsToInclude.length > 0) {
        request.setAttributesToGet(Arrays.asList(columnsToInclude));
    }

    if (indexName != null) {
        request.setIndexName(indexName);
    }

    QueryResult result = client.query(request);

    List<Map<String, AttributeValue>> items = result.getItems();
    List<T> convertedItems = new ArrayList<T>(items.size());
    for (Map<String, AttributeValue> item : items) {
        convertedItems.add(extractor.extract(item));
    }

    return convertedItems;
}

From source file:org.iternine.jeppetto.dao.dynamodb.DynamoDBQueryModelDAO.java

License:Apache License

private Iterable<T> queryItems(QueryModel queryModel, ConditionExpressionBuilder conditionExpressionBuilder) {
    QueryRequest queryRequest = new QueryRequest(tableName);

    queryRequest.setKeyConditions(conditionExpressionBuilder.getKeyConditions());
    queryRequest.setConsistentRead(consistentRead);

    if (queryModel.getFirstResult() > 0) {
        logger.warn(//from   w w  w  . j  a va 2  s  . c  o  m
                "DynamoDB does not support skipping results.  Call setPosition() on DynamoDBIterable instead.");
    }

    if (queryModel.getMaxResults() > 0) {
        queryRequest.setLimit(queryModel.getMaxResults());
    }

    List<String> keyFields = applyIndexAndGetKeyFields(conditionExpressionBuilder, queryRequest,
            queryModel.getSorts());
    applyExpressions(conditionExpressionBuilder, queryRequest);

    return new QueryIterable<T>(dynamoDB, persistableEnhancer, queryRequest, keyFields.get(0), keyFields);
}