AWS Lambda NodeJS HTTP请求,从API打印数据

时间:2017-08-09 04:52:57

标签: node.js aws-lambda

以下代码在Lambda中返回“获得响应:301”。我在php,python和现在的Node中尝试过这段代码。将此链接粘贴到浏览器中会返回此图片中的JSON数据。如何获取打印出相同数据的代码?我需要最终将数据放入Mongo。我可以让php和python在本地打印数据,但不能在Lambda中打印。

我认为这与the callback() shown here有关,我正在尝试实施它。

enter image description here

var http = require('http');
var url = 'http://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol=MSFT&interval=1min&apikey=demo';
exports.handler = function (event, context) {
http.get(url, function(res) {
  console.log("Got response: " + res.statusCode);

  res.on("data", function(chunk) {
    console.log("BODY: " + chunk);
  });
}).on('error', function(e) {
  console.log("Got error: " + e.message);
});
};

我将代码更新为:

var http = require('http');
var url = 'http://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol=MSFT&interval=1min&apikey=demo';
exports.handler = function (event, context) {
http.get(url, function(res) {
        var data = '';
        res.on('data', (chunk) => { data += chunk; }); 
        res.on('end', () => { console.log("BODY: " + data); });
    }).on('error', (e) => { console.log("Got error: " + e.message);});
};

得到了这个回复:

START RequestId: 19a21615-7d09-11e7-93cc-cb3212ad23c5 Version: $LATEST 2017-08-09T13:46:10.102Z 19a21615-7d09-11e7-93cc-cb3212ad23c5    BODY:  END RequestId: 19a21615-7d09-11e7-93cc-cb3212ad23c5 REPORT RequestId: 19a21615-7d09-11e7-93cc-cb3212ad23c5   Duration: 277.04 ms Billed Duration: 300 ms     Memory Size: 128 MB Max Memory Used: 19 MB

1 个答案:

答案 0 :(得分:5)

以块的形式收到的数据,以打印您需要收听'结束'事件所需的所有数据,然后进行记录。尝试在每个数据事件上附加块,并在收到结束事件时记录所有数据。

((Child)base).Method2()