I am trying to write a node.js lambda function which will connect to a database within a MYSQL RDS instance in AWS and pull down some sample records, but I am getting the above error.
I have created the RDS to be publicly accessible and have also created the lambda method under the same VPC as the RDS. The code I am using is below:
var mysql=require('mysql'); //Require whatever connector you need.
//console.log("beware of ", beware);
var beware=1; //This is declared outside the handler: it is possible that its last value will be reused when we enter the function again.
//This function will return a connection. Notice that it's declared outside
//the handler, thus inside the container. It may be reused but I don't think
//that matters because it is self-contained.
function getConnectionCred()
{
var params={
host : '(myconnname).amazonaws.com:3306',
user : 'username',
password : 'password',
database: 'database'};
return mysql.createConnection(params);
}
//This is your handler.
exports.handler=function(event, context)
{
//This is declared inside the handler: it is guaranteed to never be reused!.
var connection=getConnectionCred();
var del = connection._protocol._delegateError;
connection._protocol._delegateError = function(err, sequence){
if (err.fatal) {
console.trace('fatal error: ' + err.message);
}
return del.call(this, err, sequence);
};
//Do things with your connection.
var query_string='SELECT * from table';
connection.query(query_string, [beware], function(res, err){
//Check for errors, disconnect and exit with failure.
if(err){
console.log("Query failed", err);
connection.end(function(err){
context.fail(0);
});
}
//Disconnect and exit with success.
else{
connection.end(function(err){
if(err){
console.log("Warning: disconnection failed" + err);
}
context.succeed(res);
});
}
});
}
If someone could point me in the right direction of getting this error resolved that would be awesome.
Thanks!
You have specified host with port number at the end:
host: '(myconnname).amazonaws.com:3306'
Remove :3306
.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.