我正在尝试访问公共的AWS RDS mysql,它是公开可用的,我可以从JetBrains DataGrip IDE访问数据库,以下是从AWS RDS控制台进行的配置:
当使用下面的AWS lambda函数时(也尝试在不使用池的情况下,并且在每次执行时创建和结束连接),输出不会给我任何错误。唯一的输出是池对象...
还有其他人有类似的问题吗?有没有办法获取更多错误信息?
我知道AWS已经宣布他们将为VPS等添加Lambda RDS集成,但是在那之前没有选择吗?
var mysql = require('mysql');
var pool = mysql.createPool({
connectionLimit: 10,
host: 'test.XXXXXXX.us-east-1.rds.amazonaws.com',
port: 3306,
user: 'user',
password: 'password',
database: 'theDB'
});
function execute(event, context) {
console.log(pool);
pool.getConnection(function (err, connection) {
if (err) {
console.error('error connecting: ' + err.stack);
context.fail(err);
} else {
console.log('connected as id ' + connection.threadId);
console.log("connect to db!!!!");
}
console.log(connection);
connection.query('SELECT * FROM table', function (err, results, fields) {
if (err) {
context.fail(err);
} else {
console.log(results);
console.log(fields);
console.log("Select Done");
}
});
connection.release();
});
context.done(null, null);
};
exports.handler = execute;
context.done()
应该在pool.getConnection(function (err, connection) {...})
。
pool.getConnection()
是一种异步方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句