Search code examples
amazon-dynamodbamazon-dynamodb-local

How to get DynamoDB from DynamoDB local creation


Trying to write integration test for my logic, using recommended way to launch dynamoDB local:

            final String port = getAvailablePort();
            this.server = ServerRunner.createServerFromCommandLineArgs(new String[] { "-inMemory", "-port", port });
            server.start();

            amazonDynamoDB = AmazonDynamoDBClientBuilder.standard().withEndpointConfiguration(
                    // we can use any region here
                    new AwsClientBuilder.EndpointConfiguration("http://localhost:" + port, "us-west-2")).build();

I am planning to use com.amazonaws.services.dynamodbv2.document.DynamoDB in my production code to read/write from dynamo. I am looking to reuse some production dynamo-write code to setup testing data, hence, I will need com.amazonaws.services.dynamodbv2.document.DynamoDB object. However dynamo local setup above only give com.amazonaws.services.dynamodbv2.AmazonDynamoDB, any clue/suggestion on how to convert?


Solution

  • You can create an instance of DynamoDB from a AmazonDynamoDB using this constructor which has a signature of DynamoDB(AmazonDynamoDB client).