Запустите и подключитесь к Dynamodb Local в контейнере - PullRequest
0 голосов
/ 06 июня 2019

Мы используем Dynamodb Local для проведения интеграционного тестирования. Он запускается внутри контейнера, и в этом контейнере нам нужно подключиться к локальному Dynamodb. Вот как инициализируется DocumentClient:

const doc = new AWS.DynamoDB.DocumentClient({
  region: 'localhost',
  endpoint: 'http://localhost:5000/'
});

Однако, когда я пытаюсь подключиться, попробуйте batchwrite, например doc.batchWrite(buildSetData).promise(), обещание никогда не будет выполнено. Для тех, кому интересно, пакетный текст написан на JavaScript, а .promise() только что вернул обещание JS.

Однако, когда я запускаю свою установку локально (вне контейнера Docker), все работает отлично.

TLDR: почему я не могу подключиться к DynamoDb Local внутри моего контейнера.

1 Ответ

0 голосов
/ 07 июня 2019

Проблема связана с тем, что в среде докера отсутствуют учетные данные. Я предположил, что для dynamicodb-local не понадобятся учетные данные AWS, и, хотя он и не подключается к AWS, Dynamodb-local все еще нуждается в них (на самом деле они могут даже быть бессмысленными учетными данными, если присутствуют ключи). .

TLDR: Если у кого-то еще есть эта проблема, просто определите следующие ключи в вашем окне докера:

AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...