Mysql Nodejs lambda函数超时
只是试一下Lambda和nodejs。 我有一个超时错误,每隔几次就发生一次 下面是我的nodejs代码Mysql Nodejs lambda函数超时,mysql,node.js,aws-lambda,Mysql,Node.js,Aws Lambda,只是试一下Lambda和nodejs。 我有一个超时错误,每隔几次就发生一次 下面是我的nodejs代码 var mysql = require('mysql'); var pool = mysql.createPool({ connectionLimit: 100, host : 'hostname', user : 'username', password : 'password', database : 'database', port : 330
var mysql = require('mysql');
var pool = mysql.createPool({
connectionLimit: 100,
host : 'hostname',
user : 'username',
password : 'password',
database : 'database',
port : 3306
});
exports.handler = async (event, context, callback) => {
let request = JSON.parse(event.body);
let sId = request.sid;
let questionnaireId = request.questionnaireId;
pool.getConnection((error, connection) => {
if (error) throw error;
let sql = "INSERT INTO answers (qId, sId,) VALUES(" + questionnaireId + ", " + sid + ")";
connection.query(sql, function(err, result){
if(err) throw err;
console.log("Successfull Insert")
connection.release();
});
});
const response = {
statusCode: 200,
headers: {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Credentials': true
},
body: JSON.stringify({message : 'success'}),
};
return response;
};
Cloudwatch显示以下消息
“errorMessage”:“连接ETIMEDOUT”,
“代码”:“ETIMEDOUT”
提前感谢。尝试从处理程序中删除
回调
参数。您正在从函数返回承诺,因此不需要它
将callback
定义为参数可能会使aws认为您将在函数完成执行时调用它,如果您不这样做,则会产生超时错误。Replace
return response;
为此:
callback(null, response)
参考: