AWS.DynamoDB (2011-12-05) — AWS SDK for JavaScript (original) (raw)

We recommend that you migrate to AWS SDK for JavaScript v3. For dates, additional details, and information on how to migrate, please refer to the linked announcement.

Overview

Constructs a service interface object. Each API operation is exposed as a function on service.

Service Description

Amazon DynamoDB is a fast, highly scalable, highly available, cost-effective non-relational database service.

Amazon DynamoDB removes traditional scalability limitations on data storage while maintaining low latency and predictable performance.

Sending a Request Using DynamoDB

var dynamodb = new AWS.DynamoDB();
dynamodb.batchGetItem(params, function (err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Locking the API Version

In order to ensure that the DynamoDB object uses this specific API, you can construct the object by passing the apiVersion option to the constructor:

var dynamodb = new AWS.DynamoDB({apiVersion: '2011-12-05'});

You can also set the API version globally in AWS.config.apiVersions using the dynamodb service identifier:

AWS.config.apiVersions = {
  dynamodb: '2011-12-05',
  // other service API versions
};

var dynamodb = new AWS.DynamoDB();

Waiter Resource States

This service supports a list of resource states that can be polled using the waitFor() method. The resource states are:

tableExists, tableNotExists

Constructor Summarycollapse

Property Summarycollapse

Properties inherited from AWS.Service

apiVersions

Method Summarycollapse

Methods inherited from AWS.Service

makeRequest, makeUnauthenticatedRequest, setupRequestListeners, defineService

Constructor Details

new AWS.DynamoDB(options = {}) ⇒ Object

Constructs a service object. This object has one method for each API operation.

Property Details

endpointAWS.Endpoint

Returns an Endpoint object representing the endpoint URL for service requests.

Method Details

batchGetItem(params = {}, callback) ⇒ AWS.Request

Retrieves the attributes for multiple items from multiple tables using their primary keys.

The maximum number of item attributes that can be retrieved for a single operation is 100. Also, the number of items retrieved is constrained by a 1 MB the size limit. If the response size limit is exceeded or a partial result is returned due to an internal processing failure, Amazon DynamoDB returns an UnprocessedKeys value so you can retry the operation starting with the next item to get.

Amazon DynamoDB automatically adjusts the number of items returned per page to enforce this limit. For example, even if you ask to retrieve 100 items, but each individual item is 50k in size, the system returns 20 items and an appropriate UnprocessedKeys value so you can get the next page of results. If necessary, your application needs its own logic to assemble the pages of results into one set.

batchWriteItem(params = {}, callback) ⇒ AWS.Request

Allows to execute a batch of Put and/or Delete Requests for many tables in a single call. A total of 25 requests are allowed.

There are no transaction guarantees provided by this API. It does not allow conditional puts nor does it support return values.

createTable(params = {}, callback) ⇒ AWS.Request

Adds a new table to your account.

The table name must be unique among those associated with the AWS Account issuing the request, and the AWS Region that receives the request (e.g. us-east-1).

The CreateTable operation triggers an asynchronous workflow to begin creating the table. Amazon DynamoDB immediately returns the state of the table (CREATING) until the table is in the ACTIVE state. Once the table is in the ACTIVE state, you can perform data plane operations.

deleteItem(params = {}, callback) ⇒ AWS.Request

Deletes a single item in a table by primary key.

You can perform a conditional delete operation that deletes the item if it exists, or if it has an expected attribute value.

deleteTable(params = {}, callback) ⇒ AWS.Request

Deletes a table and all of its items.

If the table is in the ACTIVE state, you can delete it. If a table is in CREATING or UPDATING states then Amazon DynamoDB returns a ResourceInUseException. If the specified table does not exist, Amazon DynamoDB returns a ResourceNotFoundException.

describeTable(params = {}, callback) ⇒ AWS.Request

Retrieves information about the table, including the current status of the table, the primary key schema and when the table was created.

If the table does not exist, Amazon DynamoDB returns a ResourceNotFoundException.

getItem(params = {}, callback) ⇒ AWS.Request

Retrieves a set of Attributes for an item that matches the primary key.

The GetItem operation provides an eventually-consistent read by default. If eventually-consistent reads are not acceptable for your application, use ConsistentRead. Although this operation might take longer than a standard read, it always returns the last updated value.

listTables(params = {}, callback) ⇒ AWS.Request

Retrieves a paginated list of table names created by the AWS Account of the caller in the AWS Region (e.g. us-east-1).

putItem(params = {}, callback) ⇒ AWS.Request

Creates a new item, or replaces an old item with a new item (including all the attributes).

If an item already exists in the specified table with the same primary key, the new item completely replaces the existing item. You can perform a conditional put (insert a new item if one with the specified primary key doesn't exist), or replace an existing item if it has certain attribute values.

query(params = {}, callback) ⇒ AWS.Request

Gets the values of one or more items and its attributes by primary key (composite primary key, only).

Narrow the scope of the query using comparison operators on the RangeKeyValue of the composite key. Use the ScanIndexForward parameter to get results in forward or reverse order by range key.

scan(params = {}, callback) ⇒ AWS.Request

Retrieves one or more items and its attributes by performing a full scan of a table.

Provide a ScanFilter to get more specific results.

updateItem(params = {}, callback) ⇒ AWS.Request

Edits an existing item's attributes.

You can perform a conditional update (insert a new attribute name-value pair if it doesn't exist, or replace an existing name-value pair if it has certain expected attribute values).

updateTable(params = {}, callback) ⇒ AWS.Request

Updates the provisioned throughput for the given table.

Setting the throughput for a table helps you manage performance and is part of the Provisioned Throughput feature of Amazon DynamoDB.

waitFor(state, params = {}, callback) ⇒ AWS.Request

Waits for a given DynamoDB_20111205 resource. The final callback or'complete' event will be fired only when the resource is either in its final state or the waiter has timed out and stopped polling for the final state.

Waiter Resource Details

dynamodb.waitFor('tableExists', params = {}, [callback]) ⇒ AWS.Request

Waits for the tableExists state by periodically calling the underlyingDynamoDB_20111205.describeTable() operation every 20 seconds (at most 25 times).

dynamodb.waitFor('tableNotExists', params = {}, [callback]) ⇒ AWS.Request

Waits for the tableNotExists state by periodically calling the underlyingDynamoDB_20111205.describeTable() operation every 20 seconds (at most 25 times).