컨텍스트 : AWS 람다 함수를 사용하여 Alexa 스킬을 만들고 큰 JSON 파일을 넣으 려하지 않고 S3에 넣었습니다. 람다 함수 코드 자체. S3 파일의 내용에 액세스하여 함수의 변수에 할당하려고 했으므로 나머지 코드에서 사용할 수 있지만 제대로 작동하지 않는 것 같습니다. 관련 코드는 물론 콘솔에 인쇄 할 때 볼 수있는 내용은 아래를 참조하십시오.AWS 람다 함수에서 S3의 JSON 파일 사용 (Alexa 용)
람다 기능 :
var handlers = {
'LaunchRequest': function() {
var AWS = require('aws-sdk');
var s3 = new AWS.S3();
data = s3.getObject(myParams, function(err, data) {
if(err) { console.log(err, err.stack);}
else {
console.log('First step');
var fileText = data.Body.toString();
console.log('Second Step' + fileText);
return fileText;
}
});
console.log('Third Step' + data);
}
}
콘솔 출력 :
Function Logs:
START Version: $LATEST
2017-12-29T23:59:38.585Z Warning: Application ID is not set
2017-12-29T23:59:40.024Z Third Step[object Object]
2017-12-29T23:59:40.159Z First step
2017-12-29T23:59:40.183Z Second Step[{category1: "test1", category2: "test2", category3: "test3"}]
않는 이유는이 코드를 인쇄 먼저 "셋째 단계"?
인쇄물이 아직 인쇄되어 있어야합니다. –
무엇을 인쇄해야합니까? 콜백의 리턴은 어디에도없고 getObject는 [Object object] 인 AWS.Request를 리턴합니다. 그러나 실제로 콘텐츠로 무엇인가를하는 것은 없습니다. 모든 콘솔 로그 호출이 표시됩니다. –