Running the Spring Boot Applicationįirst, we start LocalStack with docker-compose as we did before. It allows me to create and clean up all the resources with a single command at the end of the exercise following the principles of Infrastructure as Code. I prefer this approach instead of creating the resources individually from the console. I created the AWS resources - S3 Bucket and DynamoDB table using a cloudformation template.
In the method getDdbClient(), we pass this variable to the endpointOverride() method in the DynamoDbClientBuilder class only if the variable awsLocalEndpoint has a value which is the case when using the local profile. The value is set only when we run our application using the local profile, else it has the default value null.
We inject the URL of LocalStack from the configuration parameter.
#AWS DYNAMODB CLIENT CONFIGURATION INSTALL#
We first install the LocalStack package using pip:Ĭontainer_name: "$ LocalStack usually runs inside a Docker container, but we can also run it as a Python application instead. Overriding the AWS endpoint URL with the URL of LocalStack.Our usage of LocalStack is centered around two tasks: LocalStack is a Python application designed to run as an HTTP request processor while listening on specific ports. configuring and testing error scenarios.avoiding the complexity of AWS configuration and focus on development.running our applications without connecting to AWS.If SQL is out of the table and you run app on AWS you should consider to use it but this not what I’m gonna talk about. With LocalStack, we will implement test doubles of our AWS services with LocalStack. Introduction DynamoDB is a really powerful product, especially when it comes to scalability, reliability and maintainability.
Most appropriately, these dummies are called test doubles. The method of temporarily using dummy (or mock, fake, proxy) objects in place of actual ones is a popular way of running tests for applications with external dependencies. This article is accompanied by a working code example on GitHub.
#AWS DYNAMODB CLIENT CONFIGURATION HOW TO#
If you want to go deeper and learn how to deploy a Spring Boot application to the AWS cloud and how to connect it to cloud services like RDS, Cognito, and SQS, make sure to check out the book Stratospheric - From Zero to Production with Spring Boot and AWS! Example Code This article gives only a first impression of what you can do with AWS.