【问题标题】:Task time out express AWS lambda任务超时快递 AWS lambda
【发布时间】:2019-06-02 19:33:22
【问题描述】:

在点击我的端点请求时收到“内部服务器错误”。我使用克劳迪娅与 express 框架和 AWS lambda。 但是在 cloudwatch 上检查日志后,我收到错误 Task timed out after 3.00 seconds,你能帮帮我吗?

源代码:

客户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);
        },

    })

 }
}

用户路由 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)

为什么总是出现错误“内部服务器错误”?你能帮我解决这个问题吗?我已经阅读了 Nodejs 中 AWS Lambda 函数处理程序的文档 当我使用这个导出处理程序时,文档说在我的代码中使用 export.Handler ?你能告诉我正确的方法吗?谢谢。。

【问题讨论】:

    标签: node.js amazon-web-services express aws-lambda amazon-cognito


    【解决方案1】:

    3 秒听起来像是 Lambda 的默认超时。尝试增加超时,看看会发生什么。可以将其增加到 15 分钟。您可以在 Lambda 函数中更改基本设置下的设置。

    【讨论】:

      猜你喜欢
      • 2017-09-20
      • 2019-11-06
      • 2021-10-17
      • 1970-01-01
      • 2018-05-15
      • 2018-08-08
      • 2020-11-06
      • 2019-01-28
      • 1970-01-01
      相关资源
      最近更新 更多