Node.js Alexa 작업 문제
저는 현재 AWS Lambda를 통해 Node.js Alexa 작업을 코딩하고 있으며 OpenWeather API에서 정보를 수신하고이를라는 변수로 구문 분석하는 함수를 코딩하려고했습니다 weather
. 관련 코드는 다음과 같습니다.
var request = require('request');
var weather = "";
function isBadWeather(location) {
var endpoint = "http://api.openweathermap.org/data/2.5/weather?q=" + location + "&APPID=205283d9c9211b776d3580d5de5d6338";
var body = "";
request(endpoint, function (error, response, body) {
if (!error && response.statusCode == 200) {
body = JSON.parse(body);
weather = body.weather[0].id;
}
});
}
function testWeather()
{
setTimeout(function() {
if (weather >= 200 && weather < 800)
weather = true;
else
weather = false;
console.log(weather);
generateResponse(buildSpeechletResponse(weather, true), {});
}, 500);
}
이 스 니펫을 Cloud9 및 기타 IDE에서 수없이 실행했으며 완벽하게 작동하는 것 같습니다. 그러나 패키지에 압축하여 AWS Lambda에 업로드하면 다음 오류가 발생합니다.
{
"errorMessage": "Cannot find module '/var/task/index'",
"errorType": "Error",
"stackTrace": [
"Function.Module._load (module.js:276:25)",
"Module.require (module.js:353:17)",
"require (internal/module.js:12:17)"
]
}
나는 수많은 기사를 샅샅이 뒤지고 module-js, request 및이 코드를 실행해야하는 다른 많은 Node 모듈을 설치했지만이 문제를 해결할 수있는 것은 없습니다. 다음은 경우에 대비하여 내 디렉토리입니다.
- planyr.zip
- index.js
- node_modules
- package.json
문제가 무엇인지 아는 사람이 있습니까? 미리 감사드립니다.
START RequestId: 46c71292-debf-11e6-a013-1be2c415a9c1 Version: $LATEST Unable to import module 'index': Error at Function.Module._resolveFilename (module.js:325:15) at Function.Module._load (module.js:276:25) at Module.require (module.js:353:17) at require (internal/module.js:12:17) END RequestId: 46c71292-debf-11e6-a013-1be2c415a9c1 REPORT RequestId: 46c71292-debf-11e6-a013-1be2c415a9c1 Duration: 55.76 ms Billed Duration: 100 ms Memory Size: 128 MB Max Memory Used: 16 MB