우선 시작하기에 앞서 간단하게 API와 AWS의 API Gateway가 무엇인지 알아보고 시작하겠다.
API란?
컴퓨터의 기능을 실행시키는 방법이다.
ex) 파이썬: print("hello world")
자바스크립트: document.write('hello world')
REST API란?
남의 컴퓨터(서버)의 기능을 실행시키는 명령, HTTP 프로토콜을 잘 활용하기 위해 규정해놓은 약속
PUT: 내용 전체를 업데이트
PETCH: 일부분 업데이트
API Gateway란?
Amazon API Gateway는 규모와 관계없이 REST 및 WebSocket API를 생성, 게시, 유지, 모니터링 및 보호하기 위한 AWS 서비스이다.
- 특징
- 다양한 버전과 단계의 API를 호스팅 및 사용
- 개발자에게 API키를 생성 및 배포
- AWS Lambda와 긴밀하게 통합된다.
구축 실습
구성도
1. Lambda 함수 생성
exports.handler = async (event, context, callback) => {
const operation = event.httpMethod;
switch (operation) {
case 'GET':
let data = {
'id': 1,
'name': '송현준'
}
callback(null , {
'statusCode': 200,
'headers': {},
'body': JSON.stringify(data)
});
break;
case 'POST':
callback(null, {
'statusCode': 200
});
break;
default:
callback(new Error('Operaiton Error "${operation}"'))
}
};
- Lambda는 event, context, callback이라는 총 3가지 파라미터를 가진다.
- event는 클라이언트의 요청에 대한 내용이 담긴 파라미터이다.
- event.httpMethod를 작성하면 클라이언트가 어떤 메서드로 접속을 시도했는지 확인할 수 있다.
- case GET을 지정하여 메서드 GET으로 클라이언트가 요청하면 id는 1이라는 값과 name은 송현준 이라는 값을 클라이언트에게 반환하도록 작성한다.
- callback은 웹사이트에 출력될 반환되는 정보이다.
- 상태코드는 200, header는 비워두고, body에는 위에서 지정한 id와 name값을 JSON형태로 출력하게 설정한다.
- POST 방식으로 사용자가 접속하면 단순하게 상태코드 200을 반환하도록 지정한다.
- POST는 클라이언트가 웹서버에 정보를 저장시키거나 제출할때 사용하는 HTTP 메서드이다.
- 마지막 default 부분을 작성하여 POST, GET이 아닌 이외의 요청이 들어올 경우 어떤 메서드로 접속했는지 출력하도록 작성한다.
2. API Gateway 생성 및 리소스와 GET 메서드 설정
3. API Gateway POST 메서드 설정
4. POST 메서드로 요청 테스트
https://chrome.google.com/webstore/category/extensions?hl=ko
위 링크인 크롬 웹스토어에 접속한다.
참고 문헌
해당 게시물 내용은 모두 아래 링크의 유튜브를 보고 참고했습니다.
제 글은 단지 기록을 남기기 위한 것으로 제대로 된 강의를 보고싶다면 아래 링크로 이동하셔서 보는걸 추천드립니다.
'AWS' 카테고리의 다른 글
AWS SES 사용 방법 및 구성 (0) | 2021.07.05 |
---|---|
SNS와 Lambda를 이용한 AutoScaling Group 인스턴스 EBS 스냅샷 생성 (0) | 2021.07.04 |
AWS Lambda 기초 개념 및 간단 사용 (0) | 2021.07.03 |
AWS CodeCommit 사용해보기 (0) | 2021.07.03 |
AWS Route53 Failover를 활용한 고가용성 웹 사이트 구축 (0) | 2021.06.29 |