У меня есть одна лямбда-функция, которая вставляет пользователей, а также отправляет sns-вставку, и при вставке проверка пользователя работает хорошо.Как и при вставке пользователя, я должен проверить, существует ли пользователь или нет.
'use strict';
var AWS = require("aws-sdk");
var mysql = require("mysql");
exports.handler = function (event, ignore, callback) {
var rds;
var input = {};
var ret;
// rds.query();
if (event.type === undefined || event.username === undefined || event.username === null || event.type === null || event.username === "") {
console.log(`Missing username or type`);
ret = {
"level": "error",
"message": `Missing username or type`
};
callback(JSON.stringify(ret));
}
input.stage = event.stage;
input.test = {};
input.test.error = `User ${event.username} already exists;`;
input.test.query = `select * FROM users WHERE user_id = "${event.username}";`;
input.test.validate = function (rows) {
if (null === rows || 0 === rows.length) {
return true;
}
// rds.execute(input.test, callback)
console.log(`User ${event.username} already exists;`);
return false;
};
input.query = `INSERT INTO users(user_id, Type, Reason) VALUES ("${event.username}", "${event.type}", "${event.reason}");`;
input.action = function (res) {
console.log(`User ${event.username} added`);
ret = {
"level": "info",
"message": `User ${event.username} added`
};
return JSON.stringify(ret);
};
//now insert the user by
var conn = mysql.createConnection(config);
conn.connect(function (err) {
if (null !== err) {
var message = {
"level": "error",
"message": err
};
console.log(message);
callback(JSON.stringify(message));
}
});
conn.query(input.query, callback);
var sns = new AWS.SNS({accessKeyId: "aa", secretAccessKey: "aaa",region: 'us-east-1'});
sns.publish({Message: "heelo user", TopicArn: "aa"}, function(err, data){
if(err){console.log(err);}
console.log(data);
});
};
Он вставляет данные, но не может отправить SNS.sns publish не отправляет никаких сообщений. Также он работает для проверяющего пользователя, но не может отправить sns.
Получена ошибка
Response:
{
"errorMessage": "2018-05-22T06:52:12.024Z 95066993-5d8c-11e8-9803-71c47d22473f Task timed out after 30.03 seconds"
}
Request ID:
"95066993-5d8c-11e8-9803-71c47d22473f"
Function Logs:
START RequestId: 95066993-5d8c-11e8-9803-71c47d22473f Version: $LATEST
END RequestId: 95066993-5d8c-11e8-9803-71c47d22473f
REPORT RequestId: 95066993-5d8c-11e8-9803-71c47d22473f Duration: 30030.18 ms Billed Duration: 30000 ms Memory Size: 128 MB Max Memory Used: 36 MB
2018-05-22T06:52:12.024Z 95066993-5d8c-11e8-9803-71c47d22473f Task timed out after 30.03 seconds