var http = require('http');
exports.handler = function(event, context) {
var headers = {
'content-type': 'application/x-www-form-urlencoded'
}
var options = {
host: 'stage.wings.com',
path:'/test-lambda',
form: {
'days':'3'
},
headers:headers
};
console.log(options);
var req = http.request(options, function(response) {
// Continuously update stream with data
var body = '';
response.on('data', function(d) {
body += d;
});
response.on('end', function() {
// Data reception is done, do whatever with it!
var parsed = JSON.parse(body);
console.log("success");
console.log(parsed);
});
});
// Handler for HTTP request errors.
req.on('error', function (e) {
console.error('HTTP error: ' + e.message);
completedCallback('API request completed with error(s).');
});
};
我的节点版本:v0.10.25 如果我在文件上执行它会给出HTTP错误:socket挂断 从aws lambda如果我运行此函数它会抛出错误
Lambda错误:2016-10-09T23:11:17.200Z 89f2146f-8e75-11e6-9219-b9b32aa0a768错误:套接字挂断 在createHangUpError(_http_client.js:200:15) 在Socket.socketOnEnd(_http_client.js:285:23) 在emitNone(events.js:72:20) 在Socket.emit(events.js:166:7) at endReadableNT(_stream_readable.js:905:12) at nextTickCallbackWith2Args(node.js:437:9) at process._tickDomainCallback(node.js:392:17)
答案 0 :(得分:-2)
aws-lambda有一个超时时间,它会在最多300秒后挂起。
以下是关于它的更多信息。 http://docs.aws.amazon.com/lambda/latest/dg/limits.html
你可以用context.getRemainingTimeInMillis();
将返回lambda的剩余时间,以便您可以刷新数据。如果打算运行时间超过五分钟,那么您可以实现某种完全关闭并在此之前刷新数据。