NAME
WebService::Amazon::DynamoDB - support for the AWS DynamoDB API
VERSION
version 0.005
SYNOPSIS
# Using access key
my $ddb = WebService::Amazon::DynamoDB->new(
version => '20120810',
access_key => 'access_key',
secret_key => 'secret_key',
uri => 'http://localhost:8000',
);
$ddb->batch_get_item(
sub {
my $tbl = shift;
my $data = shift;
warn "Batch get: $tbl had " . join(',', %$data) . "\n";
},
items => {
$table_name => {
keys => [
name => 'some test name here',
],
fields => [qw(name age)],
}
},
)->get;
# Using the IAM role from the current EC2 instance
my $ddb = WebService::Amazon::DynamoDB->new(
security => 'iam',
);
# Using a specific IAM role
my $ddb = WebService::Amazon::DynamoDB->new(
security => 'iam',
iam_role => 'role_name',
);
BEFORE YOU START
NOTE: I'd recommend looking at the Amazon::DynamoDB module first. It is a fork of this one with better features, more comprehensive tests, and overall it's maintained much more actively.
DESCRIPTION
Provides a Future-based API for Amazon's DynamoDB REST API. See WebService::Amazon::DynamoDB::20120810 for available methods.
Current implementations for issuing the HTTP requests:
WebService::Async::UserAgent::NaHTTP - use Net::Async::HTTP for applications based on IO::Async (this gives nonblocking behaviour)
WebService::Async::UserAgent::LWP - use LWP::UserAgent (will block, timeouts are unlikely to work)
WebService::Async::UserAgent::MojoUA - use Mojo::UserAgent, should be suitable for integration into a Mojolicious application (could be adapted for nonblocking, although the current version does not do this).
Only the Net::Async::HTTP implementation has had any significant testing or use.
METHODS
make_request
Generates an HTTP::Request.
SEE ALSO
Net::Amazon::DynamoDB - supports the older (2011) API with v2 signing, so it doesn't work with DynamoDB Local.
AWS::CLIWrapper - alternative approach using wrappers around AWS commandline tools
AUTHOR
Tom Molesworth <cpan@perlsite.co.uk>
LICENSE
Copyright Tom Molesworth 2013-2015. Licensed under the same terms as Perl itself.