우선 이번시간에는 API게이트웨이와 Lambda의 연결을 간단히 구축해 보도록 하겠습니다.
이를 위해서
AWS Lambda의 코드를 위와 같이 변경해 줍니다. statusCode와 body를 json으로 반환하게 했습니다.
그 다음에는 바로 API게이트 웨이를 생성하도록 하겠습니다.
먼저 GET -> / 의 경로를 하나 만들고 이에 대한 통합 연결을 설정해 줍니다. 이에 대한 통합 유형은 우선 Lambda함수로 지정해 줍니다. 그리고 우리가 이전에 만든 firstlambda와 연결해 주는 과정을 거칩니다.
그럼 우리가 만든 firstgateway에 우리가 만든 경로가 잘 부착된 것을 보실 수 있습니다.
그리고 gateway의 url로 들어가게 되면 위에서 기본적으로 lambda에서 작성된 결과가 잘 출력되는 것을 확인하실 수 있습니다.
그리고 이와는 다르게 동적으로 path, querystring을 사용해서 내용을 동적으로 바꾸어 보도록 하겠습니다.
우선 그럴려면 PATH를 하나 더 추가해 주어야 합니다
이번에는 lambda에서 demo함수를 하나 더 만든다으멩 ANY /shops/{id}경로와 연결시켜 주는 작업을 해주겠습니다.
결과는 위와 같습니다.
그리고 이제 https://4r8zok1ic2.execute-api.ap-northeast-2.amazonaws.com/shops/1?filter=asdf 이라는 url로 들어가 path, querystring을 각각 주입해 주는 과정을 거치고 lambda function code에 print(event)를 추가해서 event객체에 어떻게 path, querystring의 정보가 주입되는지 확인해보았습니다.
대충 이런 정보들이 오는데, path정보는 pathParameters.id안에 들어있고, querystring정보는 queryStringParameters안에 들어가 있는 것을 보고 이에 맞춰서 lambda function을 아래와 같이 바꾸어 주었습니다.
Lambda function
import json
def lambda_handler(event, context):
print(event)
return {
'statusCode': 200,
'body': json.dumps({
'id': event['pathParameters']['id'],
'filter': event['queryStringParameters']['filter']
})
}
이렇게 한다음에 API Gateway로 들어가서 위 에서 작성한 경로로 들어가면 이에 대한 정보가 잘 확인되는 것을 볼 수 있습니다.
이번에는 HTTP Gateway와 Lambda와 연결해 보았다면 다음에는 REST API Gateway와 연결해보는 실습을 진행해 보도록 하겠습니다.
'DevOps > AWS Architecture' 카테고리의 다른 글
[ DevOps ] - (API 게이트웨이) Canary 배포 (0) | 2022.07.19 |
---|---|
[ DevOps ] - (API 게이트웨이) Lambda와 Rest API Gateway 연결 (0) | 2022.07.19 |
[ DevOps ] - (API 게이트웨이) Lambda 함수 생성 및 모니터링 (0) | 2022.07.18 |
[ DevOps ] - (API 게이트웨이) API게이트웨이의 구성 요소들 (0) | 2022.07.18 |
[ DevOps ] - (API 게이트웨이) API 게이트웨이란 (0) | 2022.07.18 |