NAME
WebService::Amazon::DynamoDB::20120810 - interact with DynamoDB using API version 20120810
VERSION
version 0.005
DESCRIPTION
new
Instantiates the API object.
Expects the following named parameters:
implementation - the object which provides a Future-returning
request
method, see WebService::Amazon::DynamoDB::NaHTTP for example.uri - the base URI for constructing requests
security - 'iam' or 'key'
access_key - the access key for signing requests (only for security=key)
secret_key - the secret key for signing requests (only for security=key)
role - the role to use for requests (only for security=iam, usually autodetected from EC2 instance metadata)
algorithm - which signing algorithm to use, default AWS4-HMAC-SHA256
security_token
create_table
Creates a new table. It may take some time before the table is marked as active - use "wait_for_table" to poll until the status changes.
Named parameters:
table - the table name
read_capacity - expected read capacity units (optional, default 5)
write_capacity - expected write capacity units (optional, default 5)
fields - an arrayref specifying the fields, in pairs of (name, type), where type is N for numeric, S for string, SS for string sequence, B for binary etc.
primary - the primary keys as an arrayref of pairs indicating (name, type), default type is hash so ['pkey'] would create a single HASH primary key
describe_table
Describes the given table.
Takes a single named parameter:
table - the table name
and returns the table spec.
delete_table
Delete a table entirely.
Takes a single named parameter:
table - the table name
wait_for_table
Waits for the given table to be marked as active.
Takes a single named parameter:
table - the table name
each_table
Run code for all current tables.
Takes a coderef as the first parameter, will call this for each table found.
list_tables
Returns a Future which will resolve with a list of all tables.
Takes no parameters.
$ddb->list_tables->on_done(sub {
my @tbl = @_;
print "Table: $_\n" for @tbl;
});
put_item
Writes a single item to the table.
Takes the following named parameters:
table - the table name
fields - the field spec, as a { key => value } hashref
update_item
Updates a single item in the table.
Takes the following named parameters:
table - the table name
item - the item to update, as a{ key => value } hashref
fields - the field spec, as a { key => value } hashref
delete_item
Deletes a single item from the table.
Takes the following named parameters:
table - the table name
item - the item to delete, as a { key => value } hashref
batch_get_item
Retrieve a batch of items from one or more tables.
Takes a coderef which will be called for each found item, followed by these named parameters:
items - the search spec, as { table => { attribute => 'value', ... }, ... }
scan
Scan a table for values with an optional filter expression.
METHODS - Internal
The following methods are intended for internal use and are documented purely for completeness - for normal operations see "METHODS" instead.
FUNCTIONS - Internal
type_for_value
Returns an appropriate type (N, S, SS etc.) for the given value.
Rules are similar to JSON - if you want numeric, numify (0+$value), otherwise you'll get a string.
type_and_value
Returns a pair of (type, value), using "type_for_value".
INHERITED METHODS
- WebService::Amazon::DynamoDB
-
cached_iam_credentials, credentials, find_iam_role, iam, make_request, retrieve_iam_credentials, security, uri
AUTHOR
Tom Molesworth <cpan@perlsite.co.uk>
LICENSE
Copyright Tom Molesworth 2013-2015. Licensed under the same terms as Perl itself.