Per configurare DynamoDB in localhost si devono seguire un serie di passi
1) Si deve installare AWS Cli tramite
pip install awscli
2) Si deve lanciare il comando
aws configure per vedere se e' stata impostata la region (di solito e' su None). Nel mio caso ho impostato
eu-west-1
3) da questo
link si scarica la versione locale di DynamoDB. Si scompatta e si lancia il comando (viene aperto un server in ascolto sulla porta 8000, se la porta e' occupata si possono modificare le impostazioni)
java -D"java.library.path=./DynamoDBLocal_lib" -jar DynamoDBLocal.jar
4) a questo punto si apre un altro terminale si puo' iniziare ad interagire con DynamoDB per esempio con
aws dynamodb list-tables --endpoint-url http://localhost:8000
puo'essere necessario indicare la region usando aws configure
per creare una tabella (esempi da questo
link)
Attenzione : se si lavora in locale si deve sempre utilizzare lo switch --endpoint-url http://localhost:8000 ed aggiungerlo ai comandi sottostanti
aws dynamodb create-table \ --table-name Music \ --attribute-definitions \ AttributeName=Artist,AttributeType=S \ AttributeName=SongTitle,AttributeType=S \ --key-schema AttributeName=Artist,KeyType=HASH AttributeName=SongTitle,KeyType=RANGE \ --provisioned-throughput ReadCapacityUnits=1,WriteCapacityUnits=1
e per inserire una riga
aws dynamodb put-item \ --table-name Music \ --item \ '{"Artist": {"S": "No One You Know"}, "SongTitle": {"S": "Call Me Today"}, "AlbumTitle": {"S": "Somewhat Famous"}}' \ --return-consumed-capacity TOTAL