2017-03-17 2 views
0

와 나는 확실하지 않다 무슨 잘못 여기지만 노드 JS 나던 일에 아래에있는 내 람다AWS 노드 JS는 요청

'use strict'; 
exports.handler = function (event, context) { 
    try { 

    var req = require('request'); 
    var headers = { 'User-Agent': 'Super Agent/0.0.1' }; 

    var options = { 
     url: 'http://google.com', 
     method: 'GET', 
     headers: headers 
    }; 

    req(options, function (error, response, body) { 
     console.log(body); 
    }); 

위의 제대로 모듈을로드하지만이 CONSOLE.LOG에 도착하지 않습니다 (몸). 누구나 아이디어가 있으십니까?

+0

이 오류가 아마입니까? 확인하려면'if (! error && response.statusCode == 200)'과'else console.log (error)'를 추가하십시오. –

+0

이 작동하는 것 같습니다! 당신은 람다에 대한 전체 코드를 붙여 넣을 수 있습니까? 콜백을 가지고 있고 ... – Majid

+0

나는 모든 것을 붙여 넣을 수 없습니다. 문제는 여기에 본체에 대한 모든 코드가 돌아 오지 않는다는 것입니다. 요청 기능에서 콘솔의 어떤 것도 반환하지 않습니다. – SernOne

답변

0

내가 게시 한 코드가 람다 용으로 작성한 코드라고 가정합니다. AWS Lambda에는 lambda가 호출 될 때 실행되는 handler라는 특정 엔트리 포인트/기능이 있습니다. 따라서 모든 람다 함수는 람다 (lambda)로 적합하려면이 메서드를 가져야합니다.

exports.handler = (event, context, callback) => { 
} 

또한 람다의 외부 종속성은 자동으로 풀링되지 않습니다. 따라서 전체 종속성 코드를 압축하여 외부 종속성이있는 경우에 작동하도록 람다에 업로드해야합니다. 예

node_modules/ 
lambda.js 
package.json 

지금이 내용을 압축하여 AWS에서 람다에 업로드해야로서 우리가 할 디렉토리 구조를 살펴 보자

var req = require('request'); 
var headers = { 'User-Agent': 'Super Agent/0.0.1' }; 

// Configure the request 
var options = { 
    url: 'http://google.com', 
    method: 'GET', 
    headers: headers 
}; 

exports.handler = (event, context, callback) => { 
req(options, function (error, response, body) { 
    console.log(body); 
    callback(error); 
}); 
} 

이제 lambda.js . 다음은 현재 람다에 대한 핸들러로 lambda.js를 가리키는 것입니다.

제대로 완료 되었으면 람다를 호출 한 후 클라우드 검색에서 로그를 볼 수 있습니다.

참고 :

http://docs.aws.amazon.com/lambda/latest/dg/get-started-create-function.html http://docs.aws.amazon.com/lambda/latest/dg/nodejs-create-deployment-pkg.html

+0

이 응답을 위해 시간을 내 주셔서 대단히 감사합니다. 내 코드에는 처리기가 있으며 여기에 필요한대로 패키지를 구조화했습니다. 나머지 코드는 입니다. [code] 'use strict'; exports.handler = function (이벤트, 컨텍스트) { { var req = require ('request'); var headers = { '사용자 에이전트': '슈퍼 에이전트/0.0.1'}; var 옵션 = { url : 'http://google.com', 방법 : 'GET', 헤더 : 헤더 }}; req (옵션, 기능 (오류, 응답, 본문) { console.log (본문); }); [/ code] – SernOne

+0

본체가 본체에 표시되지 않습니다. – SernOne