Локальная оболочка динамо-базы данных не отображает таблицы, используя образ докера - PullRequest
0 голосов
/ 16 февраля 2019

Я использую локальную док-станцию ​​DynamoDB с поддержкой Docker, как уже упоминалось здесь

, и следующий мой код JS:

AWS.config.update({
  region: 'sas',
  endpoint:  'http://docker.for.mac.host.internal:8000' //'http://localhost:8000'
});

и создайте табличную функцию ниже:

function createTable() {
    let params = {
        TableName: 'sas',
        KeySchema: [{
            AttributeName: 'title',
            KeyType: 'HASH',
        }],
        AttributeDefinitions: [{
            AttributeName: 'title',
            AttributeType: 'S'
        }],
        ProvisionedThroughput: {
            ReadCapacityUnits: 1,
            WriteCapacityUnits: 1,
        }
    };
    dynamoDB.createTable(params, function(err, data) {
        if (err)
            console.log(err); // an error occurred
        else
            console.log(data);
    });
}   

я мог видеть созданную таблицу sas , используя cli:

aws dynamodb list-tables --endpoint-url http://localhost:8000 --region=sas  

, но НЕ перечисляя таблицу в, и она всегда пуста.

http://localhost:8000/shell/

есть идеи?

ПРИМЕЧАНИЕ: я могу увидеть свою таблицу с приведенным выше кодом, выполнив локальный запуск DynamodBar

 java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb 

1 Ответ

0 голосов
/ 16 февраля 2019

убедитесь, что вы также передаете -sharedDb в образ докера.

Если -sharedDb отсутствует, DynamoDB-local будет использовать
ключи доступа + регион в качестве пространств имен для разделения таблиц
(как если бы они находились под разными учетными записями aws)

...