Я пытаюсь получить доступ к базе данных MySQL, размещенной на amazon RDS, через amazon Lambda.У меня есть файлы .js, которые я могу запустить через строку cmd в Windows, но когда я перехожу в Lambda, я не могу подключиться к базе данных.Я тщательно исследовал эту проблему, и даже после выполнения этого руководства: Redstapler AWS , я получаю сообщение об ошибке «процесс завершен до завершения запроса».
Мой код, скопированный из приведенного выше руководства
var mysql = require('mysql');
var pool = mysql.createPool({
host: "",
user: "",
password: "",
database: ""
});
exports.handler = (event,context,callback) => {
context.callbackWaitFOrEmptyEventLoop = false;
pool.getConnection(function(err,connection){
if (err) throw err;
connection.query("SELECT * FROM testdata limit 10",
function(error,result,fields){
connection.release();
if (error) callback(error)
else callback(null,result)
});
});
};
Сообщение об ошибке, полученное от Amazon Lambda
Ответ: {"errorMessage": "RequestId: b5151db1-6db8-11e8-8004-1b9e8072561c Процесс завершен до завершения запроса"} ЗапросID: "b5151db1-6db8-11e8-8004-1b9e8072561c" Журналы функций: START RequestId: b5151db1-6db8-11e8-8004-1b9e8072561c Версия: $ LATEST 2018-06-11T20: 48: 01.478Z b5151db1-60041b9e8072561c Ошибка: Тайм-аут неактивности рукопожатия при рукопожатии.(/var/task/node_modules/mysql/lib/protocol/Protocol.js:164:17) в emitNone (events.js: 86: 13) в Handshake.emit (events.js: 185: 7) в Handshake._onTimeout(/var/task/node_modules/mysql/lib/protocol/septions/Sequence.js:129:8) в ontimeout (timers.js: 386: 14) в tryOnTimeout (timers.js: 250: 5) в Timer.listOnTimeout(timers.js: 214: 5) -------------------- at Protocol._enqueue (/var/task/node_modules/mysql/lib/protocol/Protocol.js: 145: 48) в Protocol.handshake (/var/task/node_modules/mysql/lib/protocol/Protocol.js:52:23) в PoolConnection.connect (/var/task/node_modules/mysql/lib/Connection.js: 130: 18) в Pool.getConnection (/var/task/node_modules/mysql/lib/Pool.js:48:16) в exports.handler (/var/task/main.js:11:6) END RequestId:b5151db1-6db8-11e8-8004-1b9e8072561c ОТЧЕТ RequestId: b5151db1-6db8-11e8-8004-1b9e8072561c Продолжительность: 10074,63 мсек. Продолжительность счета: 10100 мс. Размер памяти: 1280 МБ Макс. используемая память: 27 МБ
Request1db: b-6: бид.11e8-8004-1b9e8072561c Процесс завершен до завершенияing request
Этот учебник высоко оценен и, кажется, заслуживает уважения, но я не могу повторить его успех.Ошибка, по-видимому, означает, что connection.release расположен не в том месте, или мне нужен другой способ разорвать соединение и вернуть его в пул.