2017-10-21 131 views
0

這裏是在AWS lambda函數代碼:AWS LAMBDA:錯誤:的getaddrinfo ENOTFOUND

var https = require('https'); 
exports.handler = (event, context, callback) => { 
    var params = { 
     host: "bittrex.com", 
     path: "/api/v1.1/public/getmarketsummaries" 
    }; 
    var req = https.request(params, function(res) { 
     var test = res.toString(); 
     console.log(JSON.parse(test)); 
     //console.log(JSON.parse(res.toString())); 
    }); 
    req.end(); 
}; 

Error: getaddrinfo ENOTFOUND https://bittrex.com https://bittrex.com:443 at errnoException (dns.js:28:10) at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:76:26)

我無法推測,請幫助。其他解決方案不起作用。

+0

@MarkB,什麼是VPC? –

回答

0

我修改了您的代碼以在AWS Lambda Node.js 6.10中正常工作。我將Lambda超時設置爲60秒進行測試。

大的變化是增加 「res.on( '數據',功能(塊){}:」 和 「res.on( '結束' 功能(){}」

var https = require('https'); 
exports.handler = (event, context, callback) => { 
    var params = { 
     host: "bittrex.com", 
     path: "/api/v1.1/public/getmarketsummaries" 
    }; 
    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(); 
}; 
2

從主機中刪除https://。該要求已經表示您使用的是https/SSL。

+0

試過了,沒有幫助。代碼已更新。 –

0

問題出在你的安全組上,看起來你的lambda沒有解析DNS的權限,檢查你的lambda組是否有端口53的UDP和TCP使能。