EllisLab text mark
Advanced Search
     
New DynamoDB Library.
Posted: 14 September 2012 11:45 AM   [ Ignore ]
Joined: 2012-09-14
1 posts

I wanted to use Amazon’s DynamoDB in my codeigniter projects, but wanted something a little more simple to use and closer to what I was used to with active record.  So I came up with this quick and easy to use library.

https://github.com/navecommunications/CI_DynamoDB


Creating a record.

$this->load->library('DynamoDB');


try 
{
// Attributes/Fields can be created on the fly.

$this->dynamodb->new_attribute('field_name''field-value');
$this->dynamodb->put('table_name');

catch(Exception $e{
echo $e->getMessage();

Retrieving records by key.

$this->load->library('DynamoDB');

try 
{
$this
->dynamodb->key('key_name');
$this->dynamodb->get_attribute('field_name1');
$this->dynamodb->get_attribute('field_name2');
$query $this->dynamodb->get('table_name');
 
$row $query->row();
  echo 
$row->field_name1;
  echo 
$row->field_name2;


catch(Exception $e{
echo $e->getMessage();

Scanning a table

$this->load->library('DynamoDB');

try 
{
// Filters are case sensitive.
$this->dynamodb->filter('field_name''search_value');
$this->dynamodb->get_attribute('field_name1');
$this->dynamodb->get_attribute('field_name2');
$query $this->dynamodb->scan('table_name');

 foreach(
$query->result() as $row{
  
echo $row->field_name1;
  echo 
$row->field_name2;
 
}

catch(Exception $e{
echo $e->getMessage();

Updating an item.

$this->load->library('DynamoDB');

try 

$this
->dynamodb->key('key_name');
$this->dynamodb->set('field_name''field-value');
$this->dynamodb->update('table_name');

catch(Exception $e{
echo $e->getMessage();

Deleting an item.

$this->load->library('DynamoDB');

try 

$this
->dynamodb->key('key_name');
$this->dynamodb->delete('table_name');
catch(Exception $e{
echo $e->getMessage();