List of usage examples for com.amazonaws.services.dynamodbv2.model ScanRequest withScanFilter
public ScanRequest withScanFilter(java.util.Map<String, Condition> scanFilter)
This is a legacy parameter.
From source file:awslabs.lab51.SolutionCode.java
License:Open Source License
@Override public List<Map<String, AttributeValue>> getImageItems(AmazonDynamoDBClient dynamoDbClient) { try {/* w w w . j ava2s.c om*/ String tableName = System.getProperty("SESSIONTABLE"); String keyPrefix = System.getProperty("PARAM3"); ScanRequest scanRequest = new ScanRequest(tableName).withSelect("ALL_ATTRIBUTES"); if (!keyPrefix.isEmpty()) { Map<String, Condition> scanFilter = new HashMap<String, Condition>(); scanFilter.put("Key", new Condition().withAttributeValueList(new AttributeValue().withS(keyPrefix)) .withComparisonOperator("BEGINS_WITH")); scanRequest.withScanFilter(scanFilter); } return dynamoDbClient.scan(scanRequest).getItems(); } catch (Exception ex) { labController.logMessageToPage("getImageItems Error: " + ex.getMessage() + ":" + ex.getStackTrace()); return null; } }
From source file:com.intuit.tank.persistence.databases.AmazonDynamoDatabaseDocApi.java
License:Open Source License
/** * @{inheritDoc//from www . j av a 2s . co m */ @SuppressWarnings("unchecked") @Override public PagedDatabaseResult getPagedItems(String tableName, Object nextToken, String minRange, String maxRange, String instanceId, String jobId) { List<Item> ret = new ArrayList<Item>(); Map<String, AttributeValue> lastKeyEvaluated = (Map<String, AttributeValue>) nextToken; ScanRequest scanRequest = new ScanRequest().withTableName(tableName); Map<String, Condition> conditions = new HashMap<String, Condition>(); if (jobId != null) { Condition jobIdCondition = new Condition(); jobIdCondition.withComparisonOperator(ComparisonOperator.EQ) .withAttributeValueList(new AttributeValue().withS(jobId)); conditions.put(DatabaseKeys.JOB_ID_KEY.getShortKey(), jobIdCondition); } if (StringUtils.isNotBlank(instanceId)) { // add a filter Condition filter = new Condition(); filter.withComparisonOperator(ComparisonOperator.EQ) .withAttributeValueList(new AttributeValue().withS(instanceId)); scanRequest.addScanFilterEntry(DatabaseKeys.INSTANCE_ID_KEY.getShortKey(), filter); } Condition rangeKeyCondition = new Condition(); if (minRange != null && maxRange != null) { rangeKeyCondition.withComparisonOperator(ComparisonOperator.BETWEEN.toString()) .withAttributeValueList(new AttributeValue().withS(minRange)) .withAttributeValueList(new AttributeValue().withS(maxRange)); } else if (minRange != null) { rangeKeyCondition.withComparisonOperator(ComparisonOperator.GE.toString()) .withAttributeValueList(new AttributeValue().withS(minRange)); } else if (maxRange != null) { rangeKeyCondition.withComparisonOperator(ComparisonOperator.LT.toString()) .withAttributeValueList(new AttributeValue().withS(maxRange)); } else { rangeKeyCondition = null; } if (rangeKeyCondition != null) { conditions.put(DatabaseKeys.REQUEST_NAME_KEY.getShortKey(), rangeKeyCondition); } scanRequest.withScanFilter(conditions); scanRequest.withExclusiveStartKey(lastKeyEvaluated); ScanResult result = dynamoDb.scan(scanRequest); for (Map<String, AttributeValue> item : result.getItems()) { ret.add(getItemFromResult(item)); } return new PagedDatabaseResult(ret, result.getLastEvaluatedKey()); }