Skip to content

jarryDk/aws-dynamodb-todo

Repository files navigation

AWS Dynamo demo

Run DynamoDB via podman

podman run -it \
    --publish 8000:8000 \
    amazon/dynamodb-local:1.11.477 \
    -jar DynamoDBLocal.jar -inMemory -sharedDb

How was the aws-dynamodb-todo project created

mvn io.quarkus.platform:quarkus-maven-plugin:2.11.2.Final:create \
    -DprojectGroupId=dk.jarry.aws \
    -DprojectArtifactId=aws-dynamodb-todo \
    -DclassName="dk.jarry.aws.dynamodb.ToDoResource" \
    -Dpath="/todos" \
    -Dextensions="quarkus-resteasy-reactive,quarkus-resteasy-reactive-jsonb,quarkus-amazon-dynamodb"
cd aws-dynamodb-todo

How was the aws-dynamodb-todo-st project created

mvn io.quarkus.platform:quarkus-maven-plugin:2.11.2.Final:create \
    -DprojectGroupId=dk.jarry.aws \
    -DprojectArtifactId=aws-dynamodb-todo-st
    -Dpath="/todos" \
    -Dextensions="resteasy"
cd aws-dynamodb-todo-st

Create table in DynamoDB

var params = {
    TableName: 'todos',
    KeySchema: [{ AttributeName: 'uuid', KeyType: 'HASH' }],
    AttributeDefinitions: [{  AttributeName: 'uuid', AttributeType: 'S', }],
    ProvisionedThroughput: { ReadCapacityUnits: 1, WriteCapacityUnits: 1, }
};

dynamodb.createTable(params, function(err, data) {
    if (err) ppJson(err);
    else ppJson(data);
});
aws dynamodb create-table --table-name todos \
                          --attribute-definitions AttributeName=subject,AttributeType=S \
                          --key-schema AttributeName=subject,KeyType=HASH \
                          --provisioned-throughput ReadCapacityUnits=1,WriteCapacityUnits=1

Delete table in DynamoDB

var params = {
    TableName: 'todos'
};

dynamodb.deleteTable(params, function(err, data) {
    if (err) ppJson(err);
    else ppJson(data);

});

Tests from command line

Create ToDo

curl -X POST http://localhost:8080/todos \
	-H 'Accept: application/json' \
	-H 'Content-Type: application/json' \
	-d '{"subject":"Hello from Quarkus","body":"Content"}'

Releases

No releases published

Packages

No packages published