카테고리 없음

AWS Lambda 함수 만들어 보기

Neda 2023. 4. 17. 00:24

1. AWS Lambda 시작하기

1.1 Lambda 접속하기

AWS 콘솔에서 검색을 통해 lambda를 접속한다

로그인되어 있다면 아래 링크를 통해 바로 접속할 수 있다

https://console.aws.amazon.com/lambda/home#/functions

 

2. Lambda 함수 만들기

2.1 함수 생성하기

lambda에서 함수를 사용하는 순서는 다음과 같다

  1. 함수 생성하기
  2. 함수 작성하기
  3. 함수 배포하기
  4. 함수 테스트하기

따라서 먼저 '함수 생성' 버튼을 눌러 생성한다.

 

 

원하는 함수 이름을 입력하고

런타임을 선택한 다음 함수를 생성한다.

 

2.2 함수 작성하기

이제 index.mjs에 원하는 nodejs 함수를 작성하면 된다.

아래의 코드는 호출할 때마다 1씩 증가하는 counter 코드이다.

let counter = 0;
console.log('Loading function');

export const handler = async (event, context) => {
    console.log('start handler')
    counter+=1
    console.log(counter)
    return counter;
};

 

2.3 함수 배포하기

작성이 모두 되었다면 deploy 버튼을 눌러 배포한다.

배포가 완료되면 상단에 업데이트가 완료되었다는 알림이 뜬다.

 

3. Lambda 함수 테스트하기

3.1 함수 테스트 이벤트 생성

배포된 함수는 테스트 이벤트를 생성하여 테스트를 하여 결과를 볼 수 있다.

Deploy 왼쪽의 Test 버튼을 눌러 테스트 이벤트를 생성한다.

이벤트 json은 handler 함수의 event로 들어가게 된다.

 

3.2 함수 테스트하기

테스트 이벤트를 만들었다면 Test 버튼의 토글 아이콘을 누르면

현재 선택된 테스트 이벤트를 볼 수 있다.

제대로 선택되어 있다면 Test 버튼을 눌러 테스트를 실행한다.

 

3.3 테스트 실행 결과 확인하기

Function Logs를 보면 console.log()에 적었던 문자열들이 INFO를 통해 정상적으로 출력되고 있다.

 

함수 처음 호출)

처음 호출 했으므로 handler 함수 밖의 실행환경에서 'Loading function'이 출력된다.

counter의 값은 0에 1을 더한 1이므로 1이 출력된다.

함수 두 번째 호출)

두 번째 출력은 처음과 다르게 'Loading function'이 출력되지 않는다.

같은 실행환경이기 때문이다.

또한 counter 변수가 초기화되지 않았기 때문에 

counter 값은 1에 1을 더한 2가 출력된다.