List of usage examples for com.amazonaws.services.dynamodbv2.model QueryRequest QueryRequest
public QueryRequest(String tableName)
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); }