본문 바로가기
AWS

[AWS Lambda] post 로 파라메터 받기

by bryan.oh 2023. 8. 30.
반응형

Lambda POST 로 파라메터 받기

 

이전 글에서 email 보내는 lambda 함수를 이용해보겠습니다.

2023.08.25 - [AWS] - [Amazon] AWS SES 사용해서 Lambda 에서 E-mail 보내기

 

[Amazon] AWS SES 사용해서 Lambda 에서 E-mail 보내기

SES는 바다, 유진, 슈 의 약자로.. SeaEugeneShoo 가.. 아니고 Simple Email Service 1. AWS Console 에서 simple email... 검색 일 200건까지 이메일 발송이 무료 입니다. (리소스가 제한된 샌드박스에서 프로덕션으로

hello-bryan.tistory.com

 

Lambda 함수는 있는 상태이고,

여기에 트리거로 Api Gateway 를 추가합니다.

트리거 추가

 

API GATEWAY 선택

 

다음과 같이 구성합니다.

하단에 API KEY 를 사용하는 방법이 있습니다.

 

생성된 API GATEWAY 를 눌러서 상세 보기로 갑니다.

 

메서드 생성

 

 

전 POST 가 필요하기 때문에 POST 방식을 선택했습니다. (경우에 따라 필요한 메소드를 생성하세요)

 

이 트리거로 Lambda 함수를 호출할 것이기 때문에 Lambda 함수를 선택합니다.

 

테스트를 해보고, json content 를 보내면 어떻게 받아지는지 확인을 해봅니다.

 

 

테스트를 누르고 아래와 같이 json 파라메터를 입력하고 하단에 테스트 버튼을 누릅니다.

 

 

 

lambda 함수에서 아래와 같이 로그를 찍어보면

다음과 같이 나옵니다.

event 가 json body 네요.

 

 

 

API 배포

실제로 다른 프로그램에서 api 를 호출해볼수있게 배포를 해봅니다.

 

 

 

 

 

URL 이 나왔습니다.

 

POSTMAN 에서 저 URL 로 요청을 보내봅니다.

Body 의 raw 를 선택하고 JSON 으로 파라메터를 입력합니다.

 

아래는 Lambda 의 print(event) 의 결과를 CloudWatch 에서 확인해 본 것입니다.

 

 

 

인증키 설정

위에 설정한대로 배포하면, url 과 파라메터만 알면 누구나 사용할 수 있는 api 가 됩니다.

그래서 API KEY 를 추가하고, header 에 그 키가 있는 요청만 허용하도록 하면 됩니다.

api key 를 설정해서 인증을 추가하려면,

 

 

아래에서 API 키가 필요함 false 로 되어있는 것을 연필 아이콘을 눌러서 true 로 변경해줍니다.

 

중요!

그리고 다시 API 배포 합니다.

 

POSTMAN 으로 다시 실행해보면,

 

권한없음 (Forbidden) 뜹니다.

API KEY 가 없으니 호출할 수 없는 것이죠.

 

API 키 값은, API 키 메뉴에서 확인 가능합니다.

여기에서 API 키를 복사해서 

POST 요청을 보낼 때 header 에 

x-api-key : 복사한api key

와 같은 key:value 로 추가합니다.

아래 스샷 참고하세요.

 

 

이렇게 하고 호출하면 성공!

 

이제 email 전송해주는 lambda 함수를 아무나 사용할 걱정은 안해도됩니다.

API KEY 만 잘 관리하면 되겠죠.

 

728x90
반응형

댓글