Example usage for com.amazonaws.services.dynamodbv2.model QueryResult getCount

List of usage examples for com.amazonaws.services.dynamodbv2.model QueryResult getCount

Introduction

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

Prototype


public Integer getCount() 

Source Link

Document

The number of items in the response.

Usage

From source file:awslabs.lab22.Lab22.java

License:Open Source License

/**
 * Controls the flow of the lab code execution.
 */// w w  w .j  a va 2 s. c  o m
public static void main(String[] args) {
    try {
        // Create DynamoDB client and set the region to US East (Virginia)
        AmazonDynamoDBClient ddbClient = new AmazonDynamoDBClient(
                new ClasspathPropertiesFileCredentialsProvider());
        ddbClient.setRegion(region);

        List<Account> accounts = new ArrayList<Account>();
        accounts.add(new Account().withCompany("Amazon.com").withEmail("johndoe@amazon.com").withFirst("John")
                .withLast("Doe").withAge("33"));
        accounts.add(new Account().withCompany("Asperatus Tech").withEmail("janedoe@amazon.com")
                .withFirst("Jane").withLast("Doe").withAge("24"));
        accounts.add(new Account().withCompany("Amazon.com").withEmail("jimjohnson@amazon.com").withFirst("Jim")
                .withLast("Johnson"));

        // Verify that the table schema is as we expect, and correct any
        // problems we find.
        if (!confirmTableSchema(ddbClient, tableName)) {
            System.out.print("Deleting. ");
            optionalLabCode.deleteTable(ddbClient, tableName);
            System.out.print("Rebuilding. ");
            optionalLabCode.buildTable(ddbClient, tableName);
            System.out.println("Done.");
        }

        System.out.println("Adding items to table.");
        // Create the accounts
        for (Account account : accounts) {
            labCode.createAccountItem(ddbClient, tableName, account);
            System.out.println("Added item: " + account.getCompany() + "/" + account.getEmail());
        }

        System.out.println("Requesting matches for Company == Amazon.com");
        QueryResult queryResult = labCode.lookupByHashKey(ddbClient, tableName, "Amazon.com");
        if (queryResult != null && queryResult.getCount() > 0) {
            // Record was found
            for (Map<String, AttributeValue> item : queryResult.getItems()) {
                System.out.println("Item Found-");

                for (Entry<String, AttributeValue> attribute : item.entrySet()) {
                    System.out.print("    " + attribute.getKey() + ":");
                    if (attribute.getKey().equals("Age")) {
                        System.out.println(attribute.getValue().getN());
                    } else {
                        System.out.println(attribute.getValue().getS());
                    }
                }
            }
        } else {
            System.out.println("No matches found.");
        }

        // Conditionally update a record
        System.out.print("Attempting update. ");
        labCode.updateIfMatch(ddbClient, tableName, "jimjohnson@amazon.com", "Amazon.com", "James", "Jim");
        System.out.println("Done.");
    } catch (Exception ex) {
        LabUtility.dumpError(ex);
    }
}

From source file:com.amazon.janusgraph.diskstorage.dynamodb.DynamoDbDelegate.java

License:Open Source License

public QueryResult query(final QueryRequest request, final int permitsToConsume) throws BackendException {
    setUserAgent(request);/*  w w w. j ava  2  s  .c  o m*/
    QueryResult result;
    timedReadThrottle(QUERY, request.getTableName(), permitsToConsume);
    final Timer.Context apiTimerContext = getTimerContext(QUERY, request.getTableName());
    try {
        result = client.query(request);
    } catch (Exception e) {
        throw processDynamoDbApiException(e, QUERY, request.getTableName());
    } finally {
        apiTimerContext.stop();
    }
    meterConsumedCapacity(QUERY, result.getConsumedCapacity());
    measureItemCount(QUERY, request.getTableName(), result.getCount());
    return result;
}

From source file:com.amazon.janusgraph.diskstorage.dynamodb.QueryWorker.java

License:Open Source License

@Override
public QueryResultWrapper next() throws BackendException {
    final Query backoff = new ExponentialBackoff.Query(request, delegate, permitsToConsume);
    final QueryResult result = backoff.runWithBackoff();
    final ConsumedCapacity consumedCapacity = result.getConsumedCapacity();
    if (null != consumedCapacity) {
        permitsToConsume = Math.max((int) (consumedCapacity.getCapacityUnits() - 1.0), 1);
        totalCapacityUnits += consumedCapacity.getCapacityUnits();
    }/* www .j ava2 s.  c o m*/

    if (result.getLastEvaluatedKey() != null && !result.getLastEvaluatedKey().isEmpty()) {
        request.setExclusiveStartKey(result.getLastEvaluatedKey());
    } else {
        markComplete();
    }
    // a update returned count
    returnedCount += result.getCount();

    // b update scanned count
    scannedCount += result.getScannedCount();
    // c add scanned finalItemList
    finalItemList.addAll(result.getItems());
    return new QueryResultWrapper(titanKey, result);
}

From source file:com.rapid7.diskstorage.dynamodb.DynamoDBDelegate.java

License:Open Source License

public QueryResult query(QueryRequest request, int permitsToConsume) throws BackendException {
    setUserAgent(request);/*from ww  w  .j  a  v a2s.com*/
    QueryResult result;
    timedReadThrottle(QUERY, request.getTableName(), permitsToConsume);
    final Timer.Context apiTimerContext = getTimerContext(QUERY, request.getTableName());
    try {
        result = client.query(request);
    } catch (Exception e) {
        throw processDynamoDBAPIException(e, QUERY, request.getTableName());
    } finally {
        apiTimerContext.stop();
    }
    meterConsumedCapacity(QUERY, result.getConsumedCapacity());
    measureItemCount(QUERY, request.getTableName(), result.getCount());
    return result;
}

From source file:com.rapid7.diskstorage.dynamodb.QueryWorker.java

License:Open Source License

@Override
public QueryResultWrapper next() throws BackendException {
    ExponentialBackoff.Query backoff = new ExponentialBackoff.Query(request, delegate, permitsToConsume);
    QueryResult result = backoff.runWithBackoff();
    ConsumedCapacity consumedCapacity = result.getConsumedCapacity();
    if (null != consumedCapacity) {
        permitsToConsume = Math.max((int) (consumedCapacity.getCapacityUnits() - 1.0), 1);
        totalCapacityUnits += consumedCapacity.getCapacityUnits();
    }//from   w  w  w .  ja v  a 2 s  . c o  m

    if (result.getLastEvaluatedKey() != null && !result.getLastEvaluatedKey().isEmpty()) {
        request.setExclusiveStartKey(result.getLastEvaluatedKey());
    } else {
        markComplete();
    }
    // a update returned count
    returnedCount += result.getCount();

    // b update scanned count
    scannedCount += result.getScannedCount();
    // c add scanned items
    items.addAll(result.getItems());
    return new QueryResultWrapper(titanKey, result);
}

From source file:org.iternine.jeppetto.dao.dynamodb.iterable.QueryIterable.java

License:Apache License

@Override
protected Iterator<Map<String, AttributeValue>> fetchItems() {
    QueryResult currentQueryResult = getDynamoDB().query(queryRequest);
    Iterator<Map<String, AttributeValue>> iterator = currentQueryResult.getItems().iterator();

    queryRequest.setExclusiveStartKey(currentQueryResult.getLastEvaluatedKey()); // Prepare for next query

    if (logger.isDebugEnabled()) {
        logger.debug(//from w  w  w  .  j a  v a 2 s. co m
                "Queried {} using {}.  Took {} read capacity units, retrieved {} items, more items {} available.",
                getEnhancer().getBaseClass().getSimpleName(), queryRequest,
                currentQueryResult.getConsumedCapacity(), currentQueryResult.getCount(),
                currentQueryResult.getLastEvaluatedKey() == null ? "are not" : "are");
    }

    return iterator;
}