1. 테이블 만들기
테이블 이름과 기본 키 컬럼을 설정하고 생성
2. 항목 생성
테이블의 [항목] 탭에서 레코드를 추가할 수 있다.
추가한 내용을 확인할 수 있다.
스캔 기능을 활용하여 쿼리를 실행할 수 있다.
Android와 Dynamo DB 연동
안드로이드와 Dynamo DB를 연동하기 위해서는 AWS 콘솔의
Dynamo DB / AWS lambda
Dynamo DB는 위에서 간단히 살펴봤으니 Mobile Hub를 살펴본다.
AWS lambda
1. 함수 생성
REST API를 생성하고, 함수 이름, 역할을 설정한다.
* REST API
REST는 Representational State Transfer라는 용어의 약자로서 웹의 장점을 활용하는 아키텍처로써 소개된 기술이다. Web과 같은 분산된 hypermedia system을 위한 소프트웨어 구조이다.
REST API는
- 자원(Resource) : URI
- 행위 : HTTP METHOD
- 표현(Representations) : XML, JSON, HTML을 포함한 다양한 형식을 사용하여 현재 상태를 표현
로 구성된다.
리소스를 정의하고, 주소를 지정하여 HTTP상에서 부가적인 전송 레이어 없이 전송하기 위한 방법을 정의한 것.
* Resource : URI를 통해 접근할 수 있는 응집되고 의미있는 개념
RESTful Web Service
- REST 개념에 기반하고 HTTP 프로토콜을 이용하여 구현된 resource 지향적인 서비스
- URI (Uniform Resource Identifier)를 통한 resource 식별
ex) http://example.com/resources/res123
- Internet media type을 이용한 resource 표현
ex) XML, JSON, RSS
- HTTP method를 이용한 resource에 대한 연산(동작)
ex) POST(Create), GET(Read), PUT(Update), DELETE(Delete) 등
이중 사용자는 PUT과 DELETE는 직접 사용하는 비율이 적다.
RESTful Service의 예
Google, Facebook, Flickr, Naver 등에서 제공하는 HTTP기반 API
https://meetup.toast.com/posts/92
2. 테스트 생성
우측 상단의 [테스트] 버튼을 클릭하고 수정 후 실행하면 결과값이 출력된다.
AWS API Gateway 연결
api를 만들 때 사용한다. aws의 서비스와 외부 애플리케이션 간의 통로로 사용 가능하다.
위에서 작성한 lambda 또한 애플리케이션에서 사용할 수 있도록 gateway와 연결해야 한다.
API는 REST API를 사용한다.
API를 만들고 새 하위 리소스를 생성한다.
리소스 이름은 parameter로 전달되어 url에 사용된다.
[메소드 생성]을 클릭하고 종류는 GET로 지정한다.
실제 사용하는 함수는 사용할 REST API용도에 맞춰 메소드를 생성하면된다.
(나는 Read기능이 필요학이 때문에 GET으로 지정해주었다.)
Lambda함수를 선택하고 위에서 작성한 Lambda 함수를 입력한다.
이 작업까지는 Lambda 함수와 API를 연결한 과정이고, 실제 사용하기 위해서는 API를 배포해야한다.
배포 스테이지 이름을 작성하고 배포한다.
이후 이동하는 Stage 페이지에 배포된 URL이 생성되고 그 URL을 사용하여 POST 메소드를 실행하면 된다.
Android studio 사용
안드로이드 스튜디오에서 실제 코드에 적용할 때는 다양한 방법이 있다.
aws docs에는 APIClientFactory 클래스를 import하여 사용하는 방법을 소개하고 있다.
그 외에도 직접 JSON파싱을 하는 방법으로도 구현할 수 있다.
전체 가이드 & 참고 가이드
https://software-creator.tistory.com/14
'기록 > Mobile' 카테고리의 다른 글
[Android] The ADB binary found at C: 오류 (0) | 2020.11.19 |
---|---|
[Android] android module not specified error (0) | 2020.11.19 |
[Android] Github 연동 및 사용 (0) | 2020.11.10 |
FCM오픈소스 가이드 따라하기 (0) | 2020.05.07 |
Push 오픈소스 테스트 가이드 따라하기 - 앱 환경구성 (0) | 2020.05.05 |