es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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.

Descripción de la imagen

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)

Tags:  , , , ,

Answer

  1. Avatar for 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:

    1. Especifica la clave de acceso ID de AWS y la clave de acceso secreta al ejecutar el Web Shell.
      $ java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb -Daws.accessKeyId=FAKEACCESSKEY -Daws.secretKey=FAKESECRETKEY
      

      Reemplaza FAKEACCESSKEY y FAKESECRETKEY por tus propias credenciales.

    2. Utiliza variables de entorno para configurar las credenciales de AWS antes de ejecutar el Web Shell.

      $ export AWS_ACCESS_KEY_ID=FAKEACCESSKEY
      $ export AWS_SECRET_ACCESS_KEY=FAKESECRETKEY
      $ java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb
      

    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.

Comments are closed.