List of usage examples for com.amazonaws.services.dynamodbv2.model ScanRequest setLimit
public void setLimit(Integer limit)
The maximum number of items to evaluate (not necessarily the number of matching items).
From source file:org.apache.metamodel.dynamodb.DynamoDbDataContext.java
License:Apache License
@Override protected DataSet materializeMainSchemaTable(Table table, List<Column> columns, int maxRows) { final List<String> attributeNames = columns.stream().map(col -> col.getName()).collect(Collectors.toList()); final ScanRequest scanRequest = new ScanRequest(table.getName()); scanRequest.setAttributesToGet(attributeNames); if (maxRows > 0) { scanRequest.setLimit(maxRows); }// ww w. ja va 2 s. com final ScanResult result = _dynamoDb.scan(scanRequest); return new DynamoDbDataSet(columns, result); }
From source file:org.iternine.jeppetto.dao.dynamodb.DynamoDBQueryModelDAO.java
License:Apache License
private Iterable<T> scanItems(QueryModel queryModel, ConditionExpressionBuilder conditionExpressionBuilder) { ScanRequest scanRequest = new ScanRequest(tableName); if (queryModel.getFirstResult() > 0) { logger.warn(// 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) { scanRequest.setLimit(queryModel.getMaxResults()); } if (queryModel.getSorts() != null) { logger.warn("Not able to sort when performing a 'scan' operation. Ignoring... "); } Map<String, String> expressionAttributeNames; scanRequest.setProjectionExpression(projectionExpression); if (conditionExpressionBuilder.hasExpression()) { scanRequest.setFilterExpression(conditionExpressionBuilder.getExpression()); if (!conditionExpressionBuilder.getExpressionAttributeValues().isEmpty()) { scanRequest.setExpressionAttributeValues(conditionExpressionBuilder.getExpressionAttributeValues()); } if (projectionExpressionNames.isEmpty()) { expressionAttributeNames = conditionExpressionBuilder.getExpressionAttributeNames(); } else if (conditionExpressionBuilder.getExpressionAttributeNames().isEmpty()) { expressionAttributeNames = projectionExpressionNames; } else { expressionAttributeNames = new LinkedHashMap<String, String>(); expressionAttributeNames.putAll(conditionExpressionBuilder.getExpressionAttributeNames()); expressionAttributeNames.putAll(projectionExpressionNames); } } else { expressionAttributeNames = projectionExpressionNames; } if (!expressionAttributeNames.isEmpty()) { scanRequest.setExpressionAttributeNames(expressionAttributeNames); } return new ScanIterable<T>(dynamoDB, persistableEnhancer, scanRequest, rangeKeyField == null ? Collections.singleton(hashKeyField) : Arrays.asList(hashKeyField, rangeKeyField)); }