API 요청
GET /devices/{deviceId}/log?from=1000&to=2000
응답모델
{
"data":[
{
"time":timestamp,
"attributes": {
"attribute1": integer3,
"attribute2": "string3",
...
}
},
...
]
}
DynamoDB를 이용한 백엔드 구축하기 단원에서 DynamoDB에 디바이스 정보를 저장하는 두 가지 방법을 예시하였습니다.
DynamoDB 테이블에 저장된 로그를 읽는 Lambda 함수는 위 두 가지 방법 중 방법2를 사용하여 로그를 저장한 경우를 가정하고 구현되었습니다.
다음 단계는 API Gateway를 통해 들어오는 클라이언트의 입력을 Lambda 함수에 전달하기 위해서 클라이언트의 입력을 Lambda 함수의 입력으로 매핑하는 과정에 대해서 진행합니다.
URL 쿼리 문자열 파라미터(URL Query String Parameters) 섹션을 확장합니다.
/log GET 메서드를 선택하고 통합 요청(Integration Request)을 선택하여 본문 매핑 템플릿을 설정합니다.
매핑 템플릿 편집기에 다음 매핑 스크립트를 입력합니다.
{
"device": "$input.params('device')",
"from": "$input.params('from')",
"to": "$input.params('to')"
}
저장을 선택합니다.
/devices/{device}/log – GET – 메소드 실행 창으로 이동하여, 클라이언트 부분의 테스트를 클릭합니다.
1단계에서 Lambda 함수를 만든 방법에 따라 다음과 같이 수행합니다.
쿼리 문자열에 아래와 같은 내용을 입력합니다.
from="2019-11-29 00:00:00"&to="2019-11-29 18:09:36"
테스트버튼을 클릭하여 다음과 같은 결과가 나오는 지 확인합니다.
REST API 리소스에 대해 CORS 지원 활성화
2단계를 완료하면 API를 생성했지만 아직 실제로 사용할 수는 없습니다. 배포해야 하기 때문입니다.