This is my node.js code:
const dbConfig = require('./config/dbConfig')
const mysql = require('mysql')
var con = mysql.createConnection({
host: dbConfig.host,
user: dbConfig.username,
password: dbConfig.password,
database: dbConfig.database
})
function readMessages (event, context, callback) {
console.log('function triggered')
con.connect((err) => {
if (err) {
console.error(err)
callback(err)
} else {
console.log('Connected!')
con.query('SELECT * FROM Messages WHERE isDeleted = 0;', (err, result, fields) => {
if (err) {
console.error(err)
callback(err)
} else {
console.log(result)
con.end()
callback(null, result)
}
})
}
})
}
exports.handler = readMessages
The code is working fine as it is retrieving data from the database and displaying on the screen when I run it locally.
I am receiving an error if I run it in Lambda, which shows 7.01 seconds. Shows that the task has timed out.
The code and its dependencies are packaged in a file named app.zip, then were uploaded into aws-lambda.
app.zip
├── config
│ └── dbConfig.js
├── index.js
└── node_modules
The only log message printed by the function I have created is function triggered, I cant really find other log messages being generated by my function in the cloud watch log.
Why does the function timed out on aws-lambda?