我创建了一个简单的mySQL数据库,试图通过AWS Lambda函数访问数据。
这是在本地正常运行的代码版本:
ffff00
这是转换为可与AWS Lambda一起使用的代码:
var mysql = require('mysql');
var config = require('./config.json');
var pool = mysql.createPool({
host : config.dbhost,
user : config.dbuser,
password : config.dbpassword,
database : config.dbname
});
pool.getConnection(function(err, connection) {
// Use the connection
connection.query("SELECT username FROM ClimbingDB.users WHERE email = 'testemail1'", function (error, results, fields) {
// And done with the connection.
connection.release();
// Handle error after the release.
if (error) throw error;
console.log(results);
process.exit();
});
});
由于以下错误消息而超时: { “ errorMessage”:“ 2019-07-19T17:49:04.110Z 2f3e208c-62a6-4e90-b8ec-29398780a2a6任务在3.00秒后超时” }
我不确定为什么它似乎无法连接。我尝试将功能添加到可以访问RDB的vpc和安全组中,而这两个都不起作用。我不确定我在做什么错。
答案 0 :(得分:0)
您将需要:
firstline
secondline
thirdline
)Lambda-SG
)允许来自DB-SG
的端口3306上的入站连接也就是说,Lambda-SG
应该特别引用DB-SG
(它将变成格式为Lambda-SG
的安全组ID)。
您可能还希望增加Lambda函数的超时时间,以使其有更多的运行时间。