DevOps/AWS

[AWS] Lambda와 Gateway 실습

세리둥절 2023. 5. 7. 21:07
반응형

Lambda 함수 생성

1. 콘솔에서 lambda 검색
2. 함수 생성
3. 새로 작성
4. 런타임 -> 어떤 환경에서 만들 것인가? Node.js / Python / Ruby
5. 함수 생성

lambda_handler라는 이름과 event, context라는 argument는 기본값이다. 고정이다!
json 같이 간단한 라이브러리는 import가 되는데 pandas 같은 것은 추가 설정을 해주어야 할 수도 있다
Deploy 버튼을 클릭해야 배포가 되어서 실행 가능한 상태가 된다

 

 

 

Lambda 함수 실행하기

Lambda 함수를 실행하는데 다양한 방법이 있다. 
실무에서는 주로 트리거를 추가해서 여러가지 트리거를 발생시켜서 함수를 실행시킨다!

 

테스트 이벤트를 구성해서 Lambda 함수를 실행시킬 수도 있다
테스트 -> configure test event 선택하면 된다

 

 

 

Lambda 함수의 로그를 CloudWatch에서 확인하기

CloudWatch에서 로그 보기로 들어간다
Lambda 함수가 한번 update되어서 deploy 될 때마다 로그 스트림이 하나씩 더 생긴다
나중에 AWS X-ray라는 서비스를 통해서 좀 더 고도화된 모니터링을 할 수 있다

 

 

API Gateway 만들고 Lambda 함수와 연결하기 실습 (1)

- HTTP API / REST API / WebSocket API  세 가지 유형이 있고, WebSocket API는 채팅같은 거 할 때 만드는 특수한 케이스
- HTTP API는 customize할 수 있는 부분이 적고, 그만큼 간단하다
- API Gateway도 일종의 웹서버라고 볼 수 있기 때문에 URL을 가지고 있다

왼쪽의 "통합"메뉴에 들어간다.
이미 만들어둔 Lambda 함수
URI의 Get method를 연결한다.

이 때 Lambda함수는 API Gateway와 연결하기 위해서 statusCode, body의 구조를 정확하게 갖추고 있어야 한다.

 

 

 

Lambda 함수와 API Gateway 연결하기 실습 (2)

(1) 이번에는 id 값을 다르게 연결해보자.
(2) 람다함수에서 print(event) 한 다음에 cloudWatch에서 확인을 해보자
(3) event['pathParameters']['id']라는 값으로 pathParam을 받아올 수 있다

 

 

 

(1) 이번에는 queryParameter도 받아올 수 있다
(2) url/3/filter=1
(3) 비슷하게 람다함수에서 print(event) 한 다음에 cloudWatch에서 확인을 해보자
(4) event['queryStringParameters']['filter']라는 값으로 queryParam을 받아올 수 있다

반응형