我正在尝试从Node.js中编写的Lamda函数连接AWS RDS Mysql。最初,我遇到“超时”错误,然后进行了以下配置。
-Lambda执行角色具有对VPC的完全访问权限。-Lambda函数和RDS实例现在位于同一VPC中。-Lambda函数和RDS实例位于同一子网中。-Lambda函数和RDS实例共享一个安全组。-允许所有入站流量。
现在我说我要连接的数据库是未知的。给出以下错误:
Response:
{
"errorType": "Error",
"errorMessage": "ER_BAD_DB_ERROR: Unknown database 'empdb'",
"trace": [
"Error: ER_BAD_DB_ERROR: Unknown database 'empdb'",
我也正在复制代码段。
var mysql = require('mysql');
var connection = mysql.createConnection({
host : process.env.RDS_HOSTNAME,
user : process.env.RDS_USERNAME,
password : process.env.RDS_PASSWORD,
port : process.env.RDS_PORT,
database : process.env.RDS_DATABASE
});
connection.connect();
exports.handler = (event, context, callback) => {
// allows for using callbacks as finish/error-handlers
context.callbackWaitsForEmptyEventLoop = false;
const sql = "insert into MESSAGE values('Testing1');";
connection.query(sql, (err, res) => {
if (err) {
throw err
}
callback(null, '1 records inserted.');
})
};
我尝试了Create和Insert语句。我是AWS的新手。请指教。
他们的RDS上是否有一个名为'empdb'的数据库?同时验证登录用户是否有权访问数据库