Inek

Ejecutar DynamoDB de AWS en local

¡Tu mensaje fue recibido! Una vez que sea aprobado, estará visible para los demás visitantes.

Cerrar

24 May 2023

¿Querés desarrollar una aplicación para interactuar con DynamoDB y no sabés por dónde empezar? En este post dejo “la vía rápida” para tener DynamoDB en localhost, sin riesgo de incurrir en costos sorpresa, creado a partir de la imagen oficial de AWS, y listo para la interacción.

Para poder interactuar rápidamente con DynamoDB y sin riesgo de generar costos en nuestra cuenta de AWS vamos a instalarlo en local para que podamos interactuar con la base de datos. Una vez que tengamos nuestra aplicación depurada en local, podemos pasar a usar la versión online con más de confianza ajustando las credenciales y el endpoint de conexión.

Vamos a crear un archivo docker-compose.yml con este contenido:

version: '3'
services:
  dynamodb:
    image: amazon/dynamodb-local
    command: -jar DynamoDBLocal.jar -dbPath /home/dynamodblocal
    volumes:
      - dynamodb_data:/home/dynamodblocal
    ports:
      - 8000:8000
volumes:
  dynamodb_data:

Si no especificamos -dbPath en la línea command, la opción que la imagen ejecuta por default es -inMemory, que hará nuestros datos efímeros.

Para probar la interacción, ejecutamos las siguientes líneas después de haber levantado el docker-compose.yml:

export AWS_ACCESS_KEY_ID=dummyid
export AWS_SECRET_ACCESS_KEY=dummysecret
export AWS_DEFAULT_REGION=dummyregion
aws dynamodb list-tables --endpoint-url http://localhost:8000

Si todo estuvo bien, deberías ver algo así:

{
    "TableNames": []
}

Ya tenemos todo listo para experimentar en local.

¿Qué te pareció el post?

No hay comentarios.