Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Aws lambda+;Api网关问题_Node.js_Amazon Web Services_Aws Lambda - Fatal编程技术网

Node.js Aws lambda+;Api网关问题

Node.js Aws lambda+;Api网关问题,node.js,amazon-web-services,aws-lambda,Node.js,Amazon Web Services,Aws Lambda,我有一个AWS lambda函数,它位于node.js中 var pg = require("pg"); exports.handler = (event, context, callback) => { var client = new pg.Client({ user: "41231qd123", password: "lkjlkasjdlkasldkjas", database: "12312312asdasd", port: 5432, h

我有一个AWS lambda函数,它位于node.js中

var pg = require("pg");
exports.handler = (event, context, callback) => {
 var client = new pg.Client({
    user: "41231qd123",
    password: "lkjlkasjdlkasldkjas",
    database: "12312312asdasd",
    port: 5432,
    host: "kdoiedjeifk.compute-1.amazonaws.com",
    ssl: true
 }); 
 client.connect();
 console.log('Connected to PostgreSQL database');
 client.query("SELECT products.* from products where location_id = 
  "+event.location_id+" AND company_id = "+event.company_id+" order  
   by products.name ASC;", (err, res) => {
    if (err) {
        callback(err);
    }
    var jsonString = JSON.stringify(res.rows);
    var jsonObj = JSON.parse(jsonString);
    console.log(jsonString);
    client.end();
    context.succeed(jsonObj);
  });
};  
当我在aws lambda“test”中测试此函数时,它工作得很好,但是在我添加api网关并测试它之后,我收到了这样一条消息“在完成请求之前进程已退出”,代码或配置是否有任何具体原因


首先,检查日志中是否存在lambda错误

如果没有lambda崩溃

如果该函数花费的时间超过29秒,则API网关集成可能超时。检查lambda日志,查看是否存在崩溃,如果没有,则检查所花费的时间

如果发生lambda崩溃

您在cloudwatch中的lambda日志将给出更好的解释。“进程在完成请求之前退出”通常是极限错误的样板AWS Lambda错误。你可能会:

  • lambda VM内存不足
  • lambda VM中的磁盘空间不足
  • 超时
  • 检查日志的报告行,它们应该如下所示:

    报告请求id:asdf-wertvgh-12345-fdghdfgh持续时间:12345.13毫秒计费持续时间:12400毫秒内存大小:128 MB最大使用内存:64 MB


    如果这不是错误,那么日志应该会让您了解发生了什么。发布回溯可能会有所帮助。

    您的API网关集成请求是什么样子的?是否将其设置为
    LAMBDA_代理
    集成?API日志响应表明任务超时(从底部开始的第四行日志)。尝试将lambda上的超时时间增加到25秒,看看这是否足够在没有超时的情况下获得响应。你在日志中发布的持续时间是