Construyendo Microservicios con Spring Boot y DynamoDB
Spring Boot + DynamoDB es una buena combinación para construir miscroservicios dependiendo del caso de uso.

DynamoDB es una Base de Datos NoSQL alojada en Amazon Web Services.
Ofrece :
- Rendimiento confiable incluso a medida que escala;
- Una API pequeña y simple que permite un acceso simple de clave-valor, así como patrones de consulta más avanzados.
A continuación se muestra las tareas que se van a realizar :
- Crear un Usuario y asignar un Rol para la conexión con DynamoDB.
- Crear una tabla en DynamoDB.
- Crear nuestro proyecto en Spring Tool Suite 4.
Paso 01 .- Crear un usuario y asignar un Rol.
- Elija Services > IAM >Users
- creamos un nuevo usuario con nombre “userMicro” y le damos check en Programmatic access.


Al final de crear nuestro usuario y asociarlo con el rol de administrador ,nos descargamos las credenciales para configurarlo dentro de nuestro proyecto.

Paso 02 .- Crear una Tabla en DynamoDB
- Elija Services > DynamoDB.
- Seleccionar Create Table.
- Table Name: user
- Primary Key : user_id
- Table settings : Seleccione la casilla Use default settings y elija Create.

Paso 03 .- Crear nuestro proyecto en Spring Tool Suite 4.
El primer paso es descargar el Ide Spring Tools 4.

Creamos nuestro WorkSpace donde vamos a crear nuestro proyecto.
Dentro del IDE vamos a : File>New>Other.. , en Wizards escribimos Spring y seleccionamos Spring Started Project.


le damos Next , en el siguiente paso tenemos que agregar dos dependencias como son Lombok y Spring Web.

Luego dentro del proyecto creado nos dirigimos al archivo pom.xml del proyecto para agregar una dependencia adicional en este caso aws-java-sdk-dynamodb.
Dentro de nuestro proyecto vamos a crear la siguiente estructura de paquetes para el desarrollo .

Nos dirigimos a nuestro archivo application.properties para añadir nuestros parámetros que serán utilizados en el aplicativo , el siguiente archivo es un modelo ,reemplazar solo los valores que se encuentran en los corchetes ( {region},{accesskey},{secretkey} ).
Dentro del paquete creamos nuestra configuración para poder conectarnos a DynamoDB , adicionalmente estaremos utilizando los parámetros añadidos en nuestro properties.
Dentro del paquete repository estará la clase de negocio, que es la que contiene todos los métodos CRUD.
Dentro del paquete service , está ahí para proporcionar lógica para operar con los datos enviados hacia y desde el repository y el cliente.
Dentro del paquete entity crearemos una clase que se asigna a la tabla DynamoDB.
Dentro del paquete controller crearemos una clase de controlador de cliente que recibirá la solicitud del navegador, de acuerdo con la solicitud, se llamará al método apropiado de controlador y se realizará el procesamiento.
Finalmente ejecutamos nuestro servidor . Su aplicación debe ejecutarse en el puerto 8083 (el valor del puerto lo encontramos en el archivo application.properties)en localhost.

Ejecutar en POSTMAN
Crear un nuevo registro
Ahora nos toca probar nuestro servicio desde Postman.
Crear una nueva solicitud POST para crear un nuevo registro de user. Una vez que el registro se crea con éxito, obtenemos toda la información de user y adicionalmente el id generado por DynamoDB como respuesta.

Repositorio
Pueden descargar el código de la aplicación desde aquí:
https://github.com/cristhiancaldas/DynamoDB-microservice/tree/master
Espero que te pueda ser útil este tutorial.
Si tienes algún duda ,comentario, puedes escribirme a mi LinkedIn.