본문 바로가기

AWS/Lambda

AWS Lambda 핸들러 구조

handler.js

exports.handler =  function(event, context, callback) {
   try {
      modify(event); // event 객체 변형
   } catch(e) {
      console.log(e);
      callback(new Error("Something went wrong.")); // 오류 발생
   }
   callback(null, event); // 작업 성공
}

event

호출자로부터의 정보가 포함된 객체입니다. 요청자가 입력한 파라미터가 포함되어 있습니다.

callback

AWS 람다 핸들러는 리턴을 하지 않습니다.

대신 매개값으로 전달받은 callback 함수로 다음 단계로 넘어갑니다.

첫 번째 매개변수에 오류 객체가 입력되어 있으면, 다음 단계에서 오류를 반환합니다.

첫 번째 매개변수가 없고(null)이면, 다음 단계에서 계속 작업을 진행합니다.

이때 event 객체에 response 객체를 추가하거나 event 객체로 부터 정보를 추출해 어떤 작업을 수행한 다음, 두 번째 매개변수에 다시 event 객체를 담아서 callback 함수를 실행시킵니다.

context

특별한 경우가 아니면 많이 사용되지 않을 것 같습니다.

아래 공식 문서에는 cognito에 대한 정보가 포함되어 있던데, API 게이트웨이에 연결되어 사용될 때 API 게이트웨이 인증 수단으로 Cognito가 사용되는 경우 넘어오는 정보 같습니다.

참조: https://docs.aws.amazon.com/ko_kr/lambda/latest/dg/nodejs-context.html

 

AWS Lambda 콘텍스트 객체(Node.js) - AWS Lambda

AWS Lambda 콘텍스트 객체(Node.js) Lambda는 함수를 실행할 때 컨텍스트 객체를 핸들러에 전달합니다. 이 객체는 호출, 함수 및 실행 환경에 관한 정보를 제공하는 메서드 및 속성들을 제공합니다. 컨��

docs.aws.amazon.com

 

'AWS > Lambda' 카테고리의 다른 글

[인스타그램 클론코딩] Cognito Pre-SignUp 람다 함수  (0) 2020.05.13