Отправить идентификатор пользователя из Cognito в RDS и сохранить в таблице БД, используя функцию Lambda в качестве триггера пост-подтверждения - PullRequest
0 голосов
/ 10 июля 2019

Я создаю серверную часть на AWS для мобильного приложения, я использую RDS для базы данных и Cognito для регистрации и аутентификации пользователей. Я пытаюсь создать функцию Lambda (узел. js) для использования в триггере Post Post для (или в любом другом триггере), чтобы получить имя пользователя и сохранить его в таблице на RDS, вот мой код ниже:

var aws = require('aws-sdk');
var 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) => {

    context.callbackWaitsForEmptyEventLoop = false;
    pool.getConnection(function(err, connection){
        if(event.request.userAttributes.userName){

        var sql = mysql.format("INSERT INTO HCI_Users (UserName) Values     (\"?\")",[event.userName])

            connection.query(sql, function (error, results, fields){
            connection.release();
            if (error) callback(error);
            else callback(null, results);

        });
    }
    else{
        callback(null, event);
    }
    });
}

Когда я пытаюсь проверить его с помощью тестового события, я получаю эту ошибку «Ошибка: время выполнения завершено с ошибкой: выход из состояния 129» .. что я сделал не так ?! Я следовал некоторым учебникам и некоторым ответам здесь, на Stackoverflow, и получил код выше, но он все еще не работает.

Спасибо за помощь ...

...