Задание времени ожидания экспресс AWS лямбда - PullRequest
0 голосов
/ 08 января 2019

Я получил "Внутренняя ошибка сервера" при попадании в мой запрос конечной точки. Я использую клаву с Express Framework и AWS лямбда. но после проверки логов в cloudwatch я получил сообщение об ошибке Задача истекла через 3,00 секунды, вы можете мне помочь?

Исходный код:

Заказчик JS:

module.exports = { 
 login : async (req,res) => {
  var param = '+0855xxxx';
    var authenticationDetails = new AmazonCognitoIdentity.AuthenticationDetails({
        Username : param,
        Password : '11111111'
    });

    var userData = {
        Username : param,
        Pool : userPool
    };
    var cognitoUser = new AmazonCognitoIdentity.CognitoUser(userData);
    cognitoUser.authenticateUser(authenticationDetails, {
        onSuccess: function (result) {
            // console.log(result.idToken.payload)
            var rez = {
                accesstoken : result.getAccessToken().getJwtToken(),
                idtoken : result.getIdToken().getJwtToken(),
                refreshtoken : result.getRefreshToken().getToken()
            }
            // var obj = JSON.parse(result)
            // console.log(obj.idToken.payload)
            res.json({status:"Success", message: rez})
        },
        onFailure: function(err) {
            console.log(err);
        },

    })

 }
}

UserRoute JS

const router = require('express-promise-router')();
const customerHandlers = require('../app/handlers/customer')

router.route('/test')
    .get(customerHandlers.test)

router.route('/login')
    .post(customerHandlers.login)

module.exports = router;

Приложение JS

const express = require('express');
const app = express();
const bodyParser = require('body-parser');
const router = require('./routes/usersRoute')

//middleware
app.use(bodyParser.urlencoded({ extended: true }));

//routes
app.use('/customer', router)


//local
module.exports = app;

Lambda JS

'use strict'
const awsServerlessExpress = require('aws-serverless-express')
const app = require('./app')
const binaryMimeTypes = [
    'application/octet-stream',
    'font/eot',
    'font/opentype',
    'font/otf',
    'image/jpeg',
    'image/png',
    'image/svg+xml'
]
const server = awsServerlessExpress.createServer(app, null, binaryMimeTypes);
exports.handler = (event, context) => awsServerlessExpress.proxy(server, event, context)

почему всегда появляется ошибка "Внутренняя ошибка сервера"? Можете ли вы помочь мне решить эту проблему? я прочитал документы по обработке лямбда-функций AWS в Nodejs и документы говорят, используя export.Handler в моем коде, когда я использую этот обработчик экспорта? ты можешь показать мне правильный путь? спасибо ..

1 Ответ

0 голосов
/ 08 января 2019

3 секунды звучит как тайм-аут по умолчанию вашей лямбды. Попробуйте увеличить время ожидания и посмотрите, что произойдет. Можно увеличить его до 15 минут. Вы меняете настройку в разделе «Основные настройки» в своей функции Lambda.

enter image description here

...