우리가 만들려는 서버리스 사진첩 서비스는 여느 클라우드 사진 저장 서비스들처럼 단순히 사진을 업로드하는 것 외에도 인증 기능과 썸네일 생성 기능을 제공합니다.
sam init 명령을 이용해 Quick Start Template으로부터 Standalone function을 하나 생성합니다.
sam init
lambda 함수의 파라미터를 정의합니다. 이는 이벤트 소스로부터 트리거가 발생했을 때 이벤트의 형태를 확인하기 위함입니다. 다음과 같이 코드를 작성합니다.
exports.helloFromLambdaHandler = async (event, context) => {
console.log(event)
console.log(context)
return 'Hello from Lambda!';
}

빌드 후 배포합니다.
sam build
sam deploy --guided
S3 버킷을 하나 만들고, 트리거로 연결합니다.
다음과 같이 설정합니다.


이제 해당 버킷에 jpeg 이미지를 하나 올리면, 람다 함수가 실행됩니다.

event와 context가 어떻게 콘솔에 출력되는지 확인하기 위해 "모니터링" 탭의 "CloudWatch에서 로그 보기"를 클릭하여 로그를 확인합니다.


event 객체 내용을 확인했다면, 이를 바탕으로 썸네일 생성 코드와, 버킷 저장 코드를 활용하여 썸네일 생성을 목적으로 하는 람다 함수를 작성합니다.