Amazon::DynamoDB::Simple - Simple to use and highly available
use Amazon::DynamoDB::Simple; my $table = Amazon::DynamoDB::Simple->new( table => $table, # required primary_key => $primary_key, # required access_key_id => ..., # default: $ENV{AWS_ACCESS_KEY_ID}; secret_access_key => ..., # default: $ENV{AWS_SECRET_ACCESS_KEY}; ); # returns a hash my %item = $table->get($key); # create or update an item $table->put(%item); # mark item as deleted $table->delete($key); # returns a hash representing the whole table as key value pairs $table->items(); # returns all the keys in the table $table->keys(); # delete $old_key, create $new_key $table->rename($old_key, $new_key); # sync data between AWS regions using the 'last_updated' field to select # the newest data. This method will permanently delete any items marked as # 'deleted'. $table->sync_regions(); # This sets the value of the hosts attribute. The value shown is the # default value. You must use exactly two hosts for stuff to work atm. # Sorry. $table->hosts([qw/ dynamodb.us-east-1.amazonaws.com dynamodb.us-west-1.amazonaws.com /]);
DynamoDB is a simple key value store. A Amazon::DynamoDB::Simple object represents a single table in DynamoDB.
This module provides a simple UI layer on top of Amazon::DynamoDB. It also makes your data highly available across exactly 2 AWS regions. In other words it provides redundancy in case one region goes down. It doesn't do async. It doesn't (currently) support secondary keys.
Note Amazon::DynamoDB can't handle complex data structures. But this module can because it serializes yer stuff to JSON if needed.
At the moment you cannot use this module against a single dynamodb server. The table must exist in 2 regions. I want to make the high availability part optional in the future. It should not be hard. Patches welcome.
TODO
Thanks to DuckDuckGo for making this module possible by donating developer time.
Copyright (C) Eric Johnson.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Eric Johnson <eric.git@iijo.org>
To install Amazon::DynamoDB::Simple, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Amazon::DynamoDB::Simple
CPAN shell
perl -MCPAN -e shell install Amazon::DynamoDB::Simple
For more information on module installation, please visit the detailed CPAN module installation guide.