gpt4 book ai didi

mysql - AWS Lambda - 访问公共(public) AWS RDS MySQL

转载 作者:行者123 更新时间:2023-11-28 23:39:22 26 4
gpt4 key购买 nike

我正在尝试访问公共(public) AWS RDS mysql,它是公开可用的,我可以从 JetBrains DataGrip IDE 访问数据库,下面是 AWS RDS 控制台的配置:

RDS Config

当使用下面的 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() 是一个异步方法。

关于mysql - AWS Lambda - 访问公共(public) AWS RDS MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34835888/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com