local hosted, inmemory Amazon DynamoDB emulator.
Clone or download


FakeDynamo Build Status

local hosted, inmemory Amazon DynamoDB emulator.


This project is no longer maintained. Checkout Amazon DynamoDB Local if you are looking for implementation of latest version.


Amazon DynamoDB API version FakeDynamo gem version
2012-08-10 0.2.5
2011-12-05 0.1.3


  • ConsumedCapacityUnits value will be 1 always.


requires ruby >= 1.9

gem install fake_dynamo --version 0.2.5

fake_dynamo --port 4567

send a DELETE request to reset the database. eg

curl -X DELETE http://localhost:4567


AWS.config(:use_ssl => false,
           :dynamo_db_endpoint => 'localhost',
           :dynamo_db_port => 4567,
           :access_key_id => "xxx",
           :secret_access_key => "xxx")
 AWS.config.update({apiVersion:      "2012-08-10",
                    sslEnabled:      false,
                    endpoint:        "localhost:4567",
                    accessKeyId:     "xxx",
                    secretAccessKey: "xxx",
                    region:          "xxx"});
AWSCredentials credentials = new BasicAWSCredentials("xxx", "xxx");
AmazonDynamoDB client = new AmazonDynamoDBClient(credentials);

please open a pull request with your configuration if you are using fake_dynamo with clients other than the ones mentioned above.


fake_dynamo stores the write operations (request that changes the data) in /usr/local/var/fake_dynamo/db.fdb and replays it before starting the server. Because of the way fake_dynamo stores the data, file size tend to grow by time. so fake_dynamo will compact the database during start up if the file size is greater than 100mb. you can manually compact it by passing --compact flag.