从Node.js中的AWS Lambda调用在本地主机上运行的api

时间:2019-04-15 23:05:44

标签: node.js aws-lambda localhost aws-serverless serverless-plugins

我正在http://localhost:80/api/test上运行一个api,我想从lambda函数调用此api,但是我不确定应该使用哪个插件或任何东西来访问该api。这样做的原因是,我想要在开发阶段测试lambda和api

1 个答案:

答案 0 :(得分:0)

我用https://ngrok.com/来解决。

以下是localhost https网址的命令。您可以将端口号3000替换为端口号。

ngrok http https://localhost:3000 -host-header="localhost:3000"

以下是我的Lambda函数:

var https = require('https');

exports.testJob = (event, context, callback) => {
var params = {
    host: "90abcdef.ngrok.io",
    path: "/api/test"

};

var req = https.request(params, function(res) {
    let data = '';
    console.log('STATUS: ' + res.statusCode);
    res.setEncoding('utf8');
    res.on('data', function(chunk) {
        data += chunk;
    });
    res.on('end', function() {
        console.log("DONE");
        console.log(JSON.parse(data));
        });
    });
    req.end();
};