FakeDynamo
local hosted, inmemory Amazon DynamoDB emulator.
Versions
Amazon DynamoDB API version | FakeDynamo gem version |
---|---|
2012-08-10 | 0.2.5 |
2011-12-05 | 0.1.3 |
Caveats
-
ConsumedCapacityUnits
value will be 1 always.
Usage
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
Clients
- aws-sdk-ruby (AWS SDK for Ruby)
AWS.config(:use_ssl => false,
:dynamo_db_endpoint => 'localhost',
:dynamo_db_port => 4567,
:access_key_id => "xxx",
:secret_access_key => "xxx")
- aws-sdk-js (AWS SDK for Node.js)
AWS.config.update({apiVersion: "2012-08-10",
sslEnabled: false,
endpoint: "localhost:4567",
accessKeyId: "xxx",
secretAccessKey: "xxx",
region: "xxx"});
- aws-sdk-java (AWS SDK for Java)
AWSCredentials credentials = new BasicAWSCredentials("xxx", "xxx");
AmazonDynamoDB client = new AmazonDynamoDBClient(credentials);
client.setEndpoint("http://localhost:4567");
please open a pull request with your configuration if you are using fake_dynamo with clients other than the ones mentioned above.
Storage
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.