Невозможно соединить DynamoDB с Lambda - PullRequest
2 голосов
/ 13 марта 2019

Вот мой код

var dynamodb = new AWS.DynamoDB();
dynamodb.batchGetItem(params, function(err, data) {
    if (err) console.log(err, err.stack); // an error occurred
    else console.log(data); // successful response
});

и я получил эту ошибку

{
    message: 'Could not load credentials from any providers',
    errno: 'ETIMEDOUT',
    code: 'CredentialsError',
    syscall: 'connect',
    address: 'x.x.x.x',
    port: 80,
    time: 2019-03-13T07:59:34.279Z,
    originalError: {
        errno: 'ETIMEDOUT',
        code: 'ETIMEDOUT',
        syscall: 'connect',
        address: 'x.x.x.x',
        port: 80,
        message: 'connect ETIMEDOUT x.x.x.x:80'
    }
}

Я новичок в AWS. Я думал, что для вызова DynamoDB с Lambda не нужен доступ и секретный ключ. Это верно? Я также предоставляю полную роль доступа к DynamoDB Что вызывает эту проблему?

1 Ответ

2 голосов
/ 13 марта 2019

Я столкнулся с той же проблемой здесь.Причина в том, что ваша лямбда-функция кажется внутри VPC, а DynamoDB - нет.Попробуйте убрать VPC в Сетевой части настроек и это надо решить.

...