AWS Неузнаваемая лямбда-вывод Cognito error - PullRequest
1 голос
/ 08 января 2020

Я недавно начал работать с AWS. Я интегрировал AWS Amplify, используя пулы пользователей cognito для управления пользователями (вход в систему и регистрация), и все прошло отлично (пул пользователей обновляется всякий раз, когда регистрируется новый пользователь). Теперь я добавил триггер подтверждения Cognito Post, чтобы сохранить зарегистрированную электронную почту в базе данных, и вот мой триггер codevar mysql = require ('mysql');

var config = require('./config.json');

var pool = mysql.createPool({

host : config.dbhost,

user : config.dbuser,

password : config.dbpassword,

database : config.dbname

});

exports.handler = (event, context, callback) => {

let inserts = [event.request.userAttributes.email];

context.callbackWaitsForEmptyEventLoop = false; //prevents duplicate entry

pool.getConnection(function(error, connection) {

connection.query({

sql: 'INSERT INTO users (Email) VALUES (?);',

timeout: 40000, // 40s

values: inserts

}, function (error, results, fields) {

// And done with the connection.

connection.release();

// Handle error after the release.

if (error) callback(error);

else callback(null, results);

});

});

};

всякий раз, когда пользователь регистрируется и подтверждает его электронная почта этот триггер вызывает и выдает мне эту ошибку "Неузнаваемый лямбда-выход Cognito" . Несмотря на то, что это выдает ошибку в фоновом режиме, моя БД вставляется с новым зарегистрированным адресом электронной почты, но я не могу перенаправить свою страницу из-за этого. Любая помощь будет оценена. Спасибо

Аравинд

1 Ответ

0 голосов
/ 09 января 2020

Краткий ответ: Заменить callback(null, results); на callback(null, event);

Причина: Необходимо вернуть результат, который Cognito будет использовать для продолжения рабочего процесса аутентификации , В данном случае это event объект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...