为什么Lambda在这个简单的函数上返回502服务器错误?

时间:2018-04-24 01:42:34

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

这是我的简单功能:

'use strict';

console.log('Loading function');

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

let myMessage = "Testing this message thing.";
callback(null, myMessage);

};

然而,每当我运行它时,我都会收到502内部服务器错误。

以下是日志:

2018-04-24T01:08:24.731Z    fcd84d74-475b-11e8-b29c-773ba9f4ad9c    Loading function
START RequestId: fcd84d74-475b-11e8-b29c-773ba9f4ad9c Version: $LATEST
END RequestId: fcd84d74-475b-11e8-b29c-773ba9f4ad9c
REPORT RequestId: fcd84d74-475b-11e8-b29c-773ba9f4ad9c  Duration: 9.04 ms   Billed Duration: 100 ms Memory Size: 128 MB Max Memory Used: 19 MB  
START RequestId: 0558d0e2-475c-11e8-a47c-7df3b9f2c46d Version: $LATEST
END RequestId: 0558d0e2-475c-11e8-a47c-7df3b9f2c46d
REPORT RequestId: 0558d0e2-475c-11e8-a47c-7df3b9f2c46d  Duration: 4.93 ms   Billed Duration: 100 ms Memory Size: 128 MB Max Memory Used: 19 MB  

我有什么东西在这里失踪吗?这应该是非常基本的东西。

TTAIA

1 个答案:

答案 0 :(得分:1)

好的,所以看起来502的原因是因为我没有返回一个对象。我将代码更改为您在下面看到的内容。我已经留下了一些注释行,以显示什么也有效(内容类型我改为text / html只是为了看它是否会返回真正的HTML,它确实如此),剩下的就是最小的我需要成功地做出回应。

'use strict';

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

    var responseBody = "Hi there";

    var response = {
        // "statusCode": 200,
        // "headers": {
        //     "Content-Type": "text/html"
        // },
        body: responseBody
        // "isBase64Encoded": false
    };

    callback(null, response);
};

我希望这可以帮助那些正在努力解决这个问题的人。