5

I am running DynamoDB locally using the instructions here. To remove potential docker networking issues I am using the "Download Locally" version of the instructions. Before running dynamo locally I run aws configure to set some fake values for AWS access, secret, and region, and here is the output:

$ aws configure
AWS Access Key ID [****************fake]:
AWS Secret Access Key [****************ake2]:
Default region name [local]:
Default output format [json]:

here is the output of running dynamo locally:

$ java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb
Initializing DynamoDB Local with the following configuration:
Port:   8000
InMemory:   false
DbPath: null
SharedDb:   true
shouldDelayTransientStatuses:   false
CorsParams: *

I can confirm that the DynamoDB is running locally successfully by listing tables using aws cli

$ aws dynamodb list-tables --endpoint-url http://localhost:8000
{
    "TableNames": []
}

but when I visit http://localhost:8000/shell in my browser, this is the error I get and the page does not load. enter image description here

I tried running curl on the shell to see if I can get a more useful error message:

$ curl http://localhost:8000/shell
{
"__type":"com.amazonaws.dynamodb.v20120810#MissingAuthenticationToken",
"Message":"Request must contain either a valid (registered) AWS access key ID or X.509 certificate."}%

I tried looking up the error above, but I don't have much choice in doing setup when running the shell merely in the browser. Any help is appreciated on how I can run the Dynamodb javascript web shell with this setting.

Software versions:

aws cli: aws-cli/2.4.7 Python/3.9.9 Darwin/20.6.0 source/x86_64 prompt/off

OS: MacOS Big Sur 11.6.2 (20G314)

Mehdi Karamnejad
  • 144
  • 2
  • 11
  • I can reach http://localhost:8000/shell on my mac with ur setup. U dont need HTTPS for localhost. Seems like u have issues with aws creds configuration. Check ur keys + region. Check if creds are correct in `.aws` folder mainly in files `credentials` and`config` – Anil_M Dec 30 '21 at 19:41
  • I have setup the keys per instructions, they can be anything since it's local – Mehdi Karamnejad Dec 30 '21 at 20:06
  • u r right. Since its local u can have dummy config. I used dummy config. I am still able to get to shell using this. $ aws configure AWS Access Key ID [None]: 1234556789 AWS Secret Access Key [None]: 987654321 Default region name [us-west-2]: Default output format [None]: – Anil_M Dec 31 '21 at 23:10

3 Answers3

11

DynamoDB Local Web Shell was deprecated with version 1.16.X and is not available any longer from 1.17.X to latest. There are no immediate plans for a new Web Shell to be introduced.

You can download an old version of DynamoDB Local < 1.17.X should you wish to use the Web Shell.

Available versions:

aws s3 ls s3://dynamodb-local-frankfurt/

Download most recent working version with Web Shell:

aws s3 ls s3://dynamodb-local-frankfurt/dynamodb_local_2021-04-27.tar.gz .

The next release of DynamoDB Local will have an updated README indicating its deprecation

Leeroy Hannigan
  • 11,409
  • 3
  • 14
  • 31
  • You can download it without aws cli using this link. https://dynamodb-local-frankfurt.s3.amazonaws.com/dynamodb_local_2021-04-27.tar.gz – discover Mar 24 '23 at 23:04
1

As I answered in DynamoDB local http://localhost:8000/shell this appears to be a regression in new versions of DynamoDB Local, where the shell mysteriously stopped working, whereas in versions from a year ago it does work.

Somebody should report it to Amazon. If there is some flag that new versions require you to set to enable the shell, it isn't documented anywhere that I can find.

Nadav Har'El
  • 11,785
  • 1
  • 24
  • 45
-2

Update JAVA to the latest version and voila, it works!

deCodeIt
  • 37
  • 1
  • 4