2023기능대회

[2023 기능경기대회 클라우드컴퓨팅 2과제] REST API

이런우 2023. 4. 4. 22:31

IAM

 

시작하기전 IAM역할을 만들고 시작하자

역할 :

  • AmazonAPIGatewayPushToCloudWatchLogs
  • AmazonKinesisFullAccess

 

 

AWS서비스 : API Gateway

 

 

이제 AmazonKinesisFullAccess를 추가해주면

 

 

완성

 

 

REST API

 

API GATEWAY 콘솔로 들어가자

 

 

지금 사용할 것은 REST API를 사용할 것이다. RESTAPI가 더 기능이 많고 복잡하기 때문에 자주 사용하는 HTTP API 와 차이점은 따로 문서를 만들어보도록 하겠다.

 

 

새 API 이름 ! 생성 !

 

 

API를 구성할 수 있는 메뉴들 중 작업 → 리소스 생성 → main 이란 리소스를 생성해준다.

이제 본격적으로 매서드를 삽입해줄 것이다.

 

  • 유형 : AWS 서비스
  • AWS 리전 : ap-northeast-1
  • AWS 서비스 : Kinesis
  • HTTP 메서드 : POST
  • 작업 : PutRecord
  • 실행 역할 : 처음 만든 IAM ARN

 

 

저장! 

완성을 했다면 이런 창이 뜰 것이다.

 

 

통합요청에 들어가준다. 그 다음 HTTP 헤더에 내용을 추가해줘야한다.

  • name : Content-Type
  • 다음에서 매핑됨 : 'application/x-amz-json-1.1’

또한 매핑 템플릿을 추가 해줘야 하는데

  • Content-Type : application/json
#set ( $enter = "
")
#set($json = "$input.json('$')$enter")
{
  "StreamName": "class-stream",
  "Data": "$util.base64Encode($input.body)",
  "PartitionKey": "$context.requestId"
}

를 삽입해준다.

 

 

이런식이 될 것이다.

이후 리소스 → 작업 → API 배포를 해준다.

 

 

이후 스테이지 → 로그/추적 

 

 

 

 

  • CloudWatch Logs : 오류 및 정보 로그 or 전체 요청 및 응답 로그(는 실무에서 사용하면 너무 로그가 많을 것이다.)
  • CloudWatch 세부 지표 활성화

 

끝 ! 


 

스테이지에 있는 URL호출은 후에 계속 쓸 것이다.

다음은 이 리소스를 이용해 Kinesis를 한번 사용해보겠다.

RestAPI는 이렇게 끝나기 아쉬우니 다음에 또 활용하여 다른 글로 올리겠습니다~