Skip to content
Advertisement

aws cli cannot read from dynamodb docker container

i am running dynamodb on a docker container and am able to write to the table using python boto3, which is all fine and good.

now when I query the dynamodb table from outside the container using aws CLI, its give this error and cannot find the table

╰─➤  aws dynamodb --region=eu-west-1 --endpoint-url http://localhost:8000  scan --table-name devApiConfig

A client error (ResourceNotFoundException) occurred when calling the Scan operation: Cannot do operations on a non-existent table

the name of the sqlite db created by dynamodb docker container is

localaccesskey_eu-west-1.db


aws --region=eu-west-1 dynamodb list-tables --endpoint-url http://localhost:8000                                                                                                                                     
{
    "TableNames": []
}

Any ideas or hints, as the tables do exist on the dynamodb when used from Boto3….?

Advertisement

Answer

I have answered this in another question: https://stackoverflow.com/a/40806393/1061798

Check how your docker is starting Dyanmo. If you are using deangiberson/aws-dynamodb-local (as I was), then you will need to change the start parameters to add -sharedDb. Either amend the Dockerfile or run as follows:

docker run -p 8000:8000 -d -it deangiberson/aws-dynamodb-local "-sharedDb"

I haven’t tested, so let me know if this doesn’t work, but hopefully you get the idea.

User contributions licensed under: CC BY-SA
3 People found this is helpful
Advertisement