Public | Automated Build

Last pushed: 11 days ago
Short Description
dynamodb local
Full Description

dynamodb

dynamodb is a datastore service built from Amazon's DynamoDB Local, which is a small client-side database and server that mimics the DynamoDB service. DynamoDB is a fully managed NoSQL database service that provides fast and predictable performance with seamless scalability.

Read more on Amazon's DynamoDB Local: Developer's Guide

Read more on Amazon's DynamoDB: Introduction to DynamoDB

To Run the Server

To run without parameters to see help:

$ docker run -it zvelo/dynamodb

Notes for developers

This container is only intended for use in development. In development, it is technically available using service discovery (the default port is 8000). HOWEVER, in production, dynamodb will be accessed using an Amazon URI. To abstract these differences, the recommended approach is to rely on envetcd. By setting a global key in development as follows:

The following keys should be set in etcd

/config/global/aws/access-key
/config/global/aws/disable-ssl
/config/global/aws/endpoint
/config/global/aws/region
/config/global/aws/secret-access-key

Or as environment variables:

AWS_ACCESS_KEY=something
AWS_DISABLE_SSL=true
AWS_ENDPOINT=172.17.8.101:8001
AWS_REGION=zvelo
AWS_SECRET_ACCESS_KEY=something

With this key set, using envetcd, any service in the development cluster will have the variables set. Because the dynamodb local development tool is still available using service discovery, the hardcoded uri and port will work even if dynamodb is not running on that particular host (in this example 172.17.8.101, also note that in development, the port 8001 is fixed and can be used reliably in the config value).

This way, in production, services can still rely on the variables existing even when dynamodb is not running within the cluster and available using service discovery.

Client Objects

In reference to Amazon's Development Guide, To use DynamoDB Local with an application program, you need to configure your client so that it can communicate with the DynamoDB Local endpoint. The way that you do this depends on what programming language and AWS software development kit (SDK) you are using.

For Java: Using the AWS SDK for Java

For .Net: Using the AWS SDK for .NET

For PHP: Using the AWS SDK for PHP

DynamoDB Local is also bundled with a JavaSript Shell to help jump-start usage development of DynamoDB. You can access this in the following URL: http://localhost:8000/shell

Docker Pull Command
Owner
zvelo
Source Repository