/ / AWS Lambda NodeJS HTTP Request, imprimir dados da API - node.js, aws-lambda

Solicitação HTTP do AWS Lambda NodeJS, imprimir dados da API - node.js, aws-lambda

O código abaixo retorna "Resposta obtida:301 "no Lambda. Eu tentei este código em php, python e agora no Node. Colar este link no navegador retorna dados JSON como nesta imagem. Como faço para que o código imprima os mesmos dados? Preciso acabar colocando os dados no Mongo. Posso fazer com que o php e o python imprimam os dados localmente, mas não no Lambda.

Eu acho que tem a ver com o retorno de chamada () mostrado aqui, e estou tentando implementá-lo.

insira a descrição da imagem aqui

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);
});
};

Eu atualizei o código para:

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);});
};

E obteve esta resposta:

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

Respostas:

3 para resposta № 1

Os dados recebidos em blocos, a fim de imprimir todosos dados de que você precisa para ouvir o evento "final" e depois registrá-lo. Tente anexar os pedaços em cada evento de dados e, quando o evento final for recebido, registrar todos os dados.

var https = require("https");
var url = "https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol=MSFT&interval=1min&apikey=demo";
exports.handler = function (event, context) {
https.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);});
};