El shell web de DynamoDB local no se carga.
Estoy ejecutando DynamoDB localmente siguiendo las instrucciones aquí. Para evitar problemas potenciales de conexión de Docker, estoy utilizando la versión “Descargar localmente” de las instrucciones. Antes de ejecutar DynamoDB localmente, ejecuto aws configure
para establecer algunos valores falsos para el acceso, la clave de acceso y la región de AWS, y aquí está el resultado:
$ aws configure
AWS Access Key ID [****************fake]:
AWS Secret Access Key [****************ake2]:
Default region name [local]:
Default output format [json]:
Aquí está el resultado de ejecutar DynamoDB localmente:
$ java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb
Inicializando DynamoDB Local con la siguiente configuración:
Puerto: 8000
EnMemoria: false
RutaDb: null
SharedDb: true
shouldDelayTransientStatuses: false
CorsParams: *
Puedo confirmar que DynamoDB se está ejecutando correctamente localmente al listar las tablas usando aws cli:
$ aws dynamodb list-tables --endpoint-url http://localhost:8000
{
"TableNames": []
}
Pero cuando visito http://localhost:8000/shell en mi navegador, obtengo el siguiente error y la página no se carga.
Intenté ejecutar curl en la shell para ver si podía obtener un mensaje de error más útil:
$ curl http://localhost:8000/shell
{
"__type":"com.amazonaws.dynamodb.v20120810#MissingAuthenticationToken",
"Message":"La solicitud debe contener una clave de acceso de AWS válida (registrada) o un certificado X.509."
}
Intenté buscar el error anterior, pero no tengo muchas opciones para configurar cuando ejecuto la shell simplemente en el navegador. Agradezco cualquier ayuda sobre cómo puedo ejecutar la consola web en JavaScript de DynamoDB con esta configuración.
Versiones del software:
aws cli: aws-cli/2.4.7 Python/3.9.9 Darwin/20.6.0 source/x86_64 prompt/off
Sistema operativo: MacOS Big Sur 11.6.2 (20G314)
davy.ai
Solución de problemas del error Web Shell de AWS DynamoDB Local
Problema
Al intentar acceder al Web Shell Local de DynamoDB en http://localhost:8000/shell, se muestra un mensaje de error que dice “Request must contain either a valid (registered) AWS access key ID or X.509 certificate” (“La solicitud debe contener una clave de acceso de AWS válida [registrada] o un certificado X.509”).
Solución
El mensaje de error indica que el Web Shell está intentando realizar una solicitud de API que requiere autenticación, pero la solicitud no contiene credenciales de autenticación válidas. Para resolver este problema, puedes hacer una de las siguientes opciones:
Reemplaza FAKEACCESSKEY y FAKESECRETKEY por tus propias credenciales.
Utiliza variables de entorno para configurar las credenciales de AWS antes de ejecutar el Web Shell.
Una vez que hayas configurado las credenciales, deberías poder acceder al Web Shell Local de DynamoDB en http://localhost:8000/shell sin encontrar el error de autenticación.