Я пытаюсь научиться подключать MySQL с помощью лямбда-функций в AWS.Я выполнил несколько онлайн-инструкций и в итоге получил следующий код:
var mysql = require('mysql');
var pool = mysql.createPool({
connectionLimit : 1000,
connectTimeout : 60 * 60 * 1000,
acquireTimeout : 60 * 60 * 1000,
timeout : 60 * 60 * 1000,
host: "foo-bar-123.us-east-2.rds.amazonaws.com",
user: "root",
password: "pass123",
database: "sample_db",
});
exports.handler = (event, context, callback) => {
// prevent timeout from waiting event loop
context.callbackWaitsForEmptyEventLoop = false;
pool.getConnection(function(err, connection) {
if (err) throw err;
// Use the connection
connection.query('SELECT id FROM customer limit 10;', function (error, results, fields) {
// And done with the connection.
connection.release();
// Handle error after the release.
if (error) callback(error);
else callback(null,results);
});
});
};
Это работает на моем локальном компьютере, но когда я заархивировал этот код и загрузил его как лямбда-функцию, это возвращает
Response:
{
"errorMessage": "2018-11-13T02:16:10.339Z 0562b432-e6ea-11e8-81ef-bd64aa1af0a4 Task timed out after 30.03 seconds"
}
Время ожидания вне зависимости от того, сколько секунд я установил его.
Я установил все по умолчанию, так как я новичок во всех из них, но у меня естьдобавил AmazonRDSFullAccess к роли лямбда-функции.
Кто-нибудь знает, что может быть не так или отсутствует в моей настройке?
Спасибо.