java.lang.Object
com.amazonaws.services.dynamodbv2.document.DynamoDB
All Implemented Interfaces:
BatchGetItemApi, BatchWriteItemApi, ListTablesApi

public class DynamoDB extends Object implements ListTablesApi, BatchGetItemApi, BatchWriteItemApi
DynamoDB Document API. This class is the entry point to make use of this library.
  • Constructor Details

    • DynamoDB

      public DynamoDB(AmazonDynamoDB client)
    • DynamoDB

      public DynamoDB(Regions regionEnum)
      Create a DynamoDB object that talks to the specified AWS region. The underlying service client will use all the default client configurations, including the default credentials provider chain. See AmazonDynamoDBClient() for more information.

      If you need more control over the client configuration, use DynamoDB(AmazonDynamoDB) instead.

      Parameters:
      regionEnum - the AWS region enum
      See Also:
  • Method Details

    • getTable

      public Table getTable(String tableName)
      Returns the specified DynamoDB table. No network call is involved.
    • createTable

      public Table createTable(CreateTableRequest req)
      Creates the specified table in DynamoDB.
    • createTable

      public Table createTable(String tableName, List<KeySchemaElement> keySchema, List<AttributeDefinition> attributeDefinitions, ProvisionedThroughput provisionedThroughput)
      Creates the specified table in DynamoDB.
    • listTables

      public TableCollection<ListTablesResult> listTables()
      Description copied from interface: ListTablesApi
      Returns a collection of all the tables (initialized with the respective table names) associated with the current account and endpoint. The underlying collection is paginated with a page size of 100. A network call is made whenever the collection is iterated across a page boundary.
      Specified by:
      listTables in interface ListTablesApi
    • listTables

      public TableCollection<ListTablesResult> listTables(String exclusiveStartTableName)
      Description copied from interface: ListTablesApi
      Returns a collection of tables (initialized with the respective table names) associated with the current account and endpoint, starting with a name after the specified exclusiveStartTableName . The underlying collection is paginated with a page size of 100. A network call is made whenever the collection is iterated across a page boundary.
      Specified by:
      listTables in interface ListTablesApi
      Parameters:
      exclusiveStartTableName - The first table name that this operation will evaluate, exclusive of the specified exclusiveStartTableName. Use the value that was returned for LastEvaluatedTableName in a previous operation, so that you can obtain the next page of results.
    • listTables

      public TableCollection<ListTablesResult> listTables(String exclusiveStartTableName, int maxResultSize)
      Description copied from interface: ListTablesApi
      Returns a collection of tables (initialized with the respective table names) up to the specified maxResultSize associated with the current account and endpoint, starting with a name after the specified exclusiveStartTableName. The underlying collection is paginated with a page size of 100. A network call is made whenever the collection is iterated across a page boundary.
      Specified by:
      listTables in interface ListTablesApi
      Parameters:
      exclusiveStartTableName - The first table name that this operation will evaluate exclusive of the specified exclusiveStartTableName. Use the value that was returned for LastEvaluatedTableName in a previous operation, so that you can obtain the next page of results.
      maxResultSize - A maximum number of table names to return.
    • listTables

      public TableCollection<ListTablesResult> listTables(int maxResultSize)
      Description copied from interface: ListTablesApi
      Returns a collection of tables (initialized with the respective table names) up to the specified maxResultSize associated with the current account and endpoint. The underlying collection is paginated with a page size of 100. A network call is made whenever the collection is iterated across a page boundary.
      Specified by:
      listTables in interface ListTablesApi
      Parameters:
      maxResultSize - A maximum number of table names to return.
    • listTables

      public TableCollection<ListTablesResult> listTables(ListTablesSpec spec)
      Description copied from interface: ListTablesApi
      List tables by specifying all the details. The underlying collection is paginated with the specified page size (which defaults to 100). A network call is made whenever the collection is iterated across a page boundary.
      Specified by:
      listTables in interface ListTablesApi
      Parameters:
      spec - can be used to specify all the detailed parameters of listing tables.
      Returns:
      a collection of tables associated with the current account and endpoint.
    • batchGetItem

      public BatchGetItemOutcome batchGetItem(ReturnConsumedCapacity returnConsumedCapacity, TableKeysAndAttributes... tableKeysAndAttributes)
      Description copied from interface: BatchGetItemApi
      Used to perform a batch get-item operation from DynamoDB.
      Specified by:
      batchGetItem in interface BatchGetItemApi
      Parameters:
      returnConsumedCapacity - returned capacity to be returned
      tableKeysAndAttributes - the tables, keys, and attributes specification to be used to retrieve the items.
    • batchGetItem

      public BatchGetItemOutcome batchGetItem(TableKeysAndAttributes... tableKeysAndAttributes)
      Description copied from interface: BatchGetItemApi
      Used to perform a batch get-item operation from DynamoDB.
      Specified by:
      batchGetItem in interface BatchGetItemApi
      Parameters:
      tableKeysAndAttributes - the tables, keys, and attributes specification to be used to retrieve the items.
    • batchGetItem

      public BatchGetItemOutcome batchGetItem(BatchGetItemSpec spec)
      Description copied from interface: BatchGetItemApi
      Used to perform a batch get-item operation from DynamoDB with full parameter specification.
      Specified by:
      batchGetItem in interface BatchGetItemApi
    • batchGetItemUnprocessed

      public BatchGetItemOutcome batchGetItemUnprocessed(ReturnConsumedCapacity returnConsumedCapacity, Map<String,KeysAndAttributes> unprocessedKeys)
      Description copied from interface: BatchGetItemApi
      Used to perform a batch get-item for the unprocessed keys returned from a previous batch get-item operation.
      Specified by:
      batchGetItemUnprocessed in interface BatchGetItemApi
      Parameters:
      returnConsumedCapacity - returned capacity to be returned
      unprocessedKeys - the unprocessed keys returned from the result of a previous batch-get-item operation.
      See Also:
    • batchGetItemUnprocessed

      public BatchGetItemOutcome batchGetItemUnprocessed(Map<String,KeysAndAttributes> unprocessedKeys)
      Description copied from interface: BatchGetItemApi
      Used to perform a batch get-item for the unprocessed keys returned from a previous batch get-item operation.
      Specified by:
      batchGetItemUnprocessed in interface BatchGetItemApi
      Parameters:
      unprocessedKeys - the unprocessed keys returned from the result of a previous batch-get-item operation.
      See Also:
    • batchWriteItem

      public BatchWriteItemOutcome batchWriteItem(TableWriteItems... tableWriteItems)
      Description copied from interface: BatchWriteItemApi
      Used to perform a batch write operation to DynamoDB.
      Specified by:
      batchWriteItem in interface BatchWriteItemApi
      Parameters:
      tableWriteItems - the tables and the respective keys to delete from and/or the respective items to be put.
    • batchWriteItem

      public BatchWriteItemOutcome batchWriteItem(BatchWriteItemSpec spec)
      Description copied from interface: BatchWriteItemApi
      Used to perform a batch write operation to DynamoDB with full parameter specification.
      Specified by:
      batchWriteItem in interface BatchWriteItemApi
    • batchWriteItemUnprocessed

      public BatchWriteItemOutcome batchWriteItemUnprocessed(Map<String,List<WriteRequest>> unprocessedItems)
      Description copied from interface: BatchWriteItemApi
      Used to perform a batch write operation for the unprocessed items returned from a previous batch write operation.
      Specified by:
      batchWriteItemUnprocessed in interface BatchWriteItemApi
      Parameters:
      unprocessedItems - the unprocessed items returned from the result of a previous batch write operation
      See Also:
    • shutdown

      public void shutdown()
      Shuts down and release all resources.