반응형

Python으로 작성된 AWS Lambda 함수를 사용해보았습니다. 

2021. 9. 28 - 최초작성




AWS 관리 콘솔 사이트(https://aws.amazon.com/ko/console/ )에 접속하여  로그인 후, 오른쪽 상단에 보이는 리전을 서울로 변경합니다. 꼭 서울일 필요는 없습니다. 

 




왼쪽 상단에 보이는 서비스를 클릭합니다. 

 



서비스 목록에서 컴퓨팅 항목에 있는 Lambda를 클릭합니다. 

 




오른쪽 상단에 보이는 함수 생성 버튼을 클릭합니다. 






상단에 새로 작성이 선택된 상태에서 함수 이름을 적은 후, 런타임 Python 3.9로 변경합니다. 이제 오른쪽 하단에 보이는 함수 생성을 클릭합니다. 

 




기본 람다 코드가 보입니다. 이 코드는 json 패키지를  임포트하고 lambda_handler라는 함수를 정의합니다. 

이벤트가 발생시 실행되는 함수입니다. 

 



주의할 점은 함수 이름 수정시 아래쪽에 보이는 런타임 설정 항목에서 핸들러는 파이썬 파일 이름.함수 이름으로 입력되어 있어야 합니다. 

여기에선 파이썬 파일 이름 lambda_function와 함수 이름 lambda_handler로 구성됩니다. 

런타임 설정핸들러를 잘못 설정하면 람다 함수가 실행되지 않습니다. 

 




코드에 다음 2개의  print 문을 추가합니다. 두번째 print문은 이벤트가 발생하면 Key가 hello인 이벤트 값을 출력합니다.

 

    print("Hello from Lambda!")

    print(event['hello'])

 




변경된 코드를 저장하기 위해 Deploy 버튼을 클릭합니다. 

 




테스트를 해보기 위해 Test 버튼을 클릭합니다. 



이벤트 이름을 적은 후,  다음처럼 이벤트를 하나 더 추가한 후, 생성을 클릭합니다. 

바로 윗줄 끝에 콤마(,)를 빼먹으면 안됩니다.

 

  "hello": "Hello World"

 



다시 Test 버튼을 클릭합니다. 



Execution results 탭에 실행 결과가 보입니다. 

 

Test Event Name에 이벤트 이름이 출력됩니다.

Response에 핸들러 함수의 return 값을 출력합니다.

Function Logs에 print문 실행 결과를 볼 수 있습니다. print문으로 출력한 “Hello from Lambda!”와 이벤트에서 받아온 문자열인 “Hello World”가 출력 되었습니다. 

 



추가했던 이벤트는 테스트 항목을 클릭하면 다시 수정할 수 있습니다. 

 




오류가 난 경우 테스트입니다. print문의 닫는 괄호를 삭제해봅니다.

 



Deploy 버튼을 클릭하여 함수를 저장하고 Test 버튼을 클릭하여 실행합니다.

이번에는 함수가 실행될 때 에러가 발생합니다. Execution results 탭에서 에러 관련 정보를 볼 수 있습니다. 

 






참고

https://stackify.com/aws-lambda-with-python-a-complete-getting-started-guide/

 

https://sarc.io/index.php/aws/570-aws-lambda-hello-world 




반응형

문제 발생시 지나치지 마시고 댓글 남겨주시면 가능한 빨리 답장드립니다.

도움이 되셨다면 토스아이디로 후원해주세요.
https://toss.me/momo2024


제가 쓴 책도 한번 검토해보세요 ^^

+ Recent posts