Не удается подключить DynamoDB к Lambda

#amazon-web-services #aws-lambda #amazon-dynamodb

#amazon-web-services #aws-lambda #amazon-dynamodb

Вопрос:

Вот мой код

 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:

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