В настоящее время я пытаюсь настроить лямбду AWS, которая помещает записи в базу данных mysql.При вызове ответственного API через запрос axios лямбда запускается и завершается без ошибок.
Лямбда:
exports.registerUser = async (event,contex,callback) => {
data = JSON.parse(event.body)
console.log(data)
con = mysql.createConnection({
host: "host",
user: "name",
password: "password",
database: 'component'
});
await con.connect(function(err) {
if (err) {
console.log(err)
throw err;
}
console.log("Connected!");
})
var timestamp = Date.now();
id_user =uuidv4();
var sql_user = "INSERT INTO user (id_user, first_name, last_name, email, city, registration) VALUES ('"+id_user+"', '"+data.first_name+"', '"+data.last_name+"', '"+data.email+"', '"+data.city+"', "+timestamp+")"
await new Promise(function(resolve,reject){
con.query(sql_user, function (err, result) {
if (err) return reject(err);
console.log("1 record inserted");
resolve(result)
});
})
await con.end(function(err) {
if (err) {
console.log(err)
throw err;
}
console.log("Disonnected!");
})
console.log('SUCCESS')
return callback(null, 'success')
}
Однако на клиентесторона, в которой запрос axios всегда возвращает 502.
Клиент:
cloud.registerNode = async function(event, callback){
axios.post(API, JSON.stringify({
id_user: event.id_user,
edge_uuid: event.edge_uuid,
edge_name: event.edge_name,
edge_key: event.edge_key,
cloud_key: event.cloud_key
})).then(function(response){
console.log('It worked with response:')
console.log(response)
}).catch(function(err){
console.log('error thrown:')
console.log(err)
})
}
Я подозреваю, что обратный вызов не является правильным путем, но яЯ не уверен, как это сделать правильно.Любая помощь будет принята с благодарностью.