본문 바로가기

기록/Mobile

Android에서 Amazon Dynamo DB 사용하기

SMALL

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

 

REST API 제대로 알고 사용하기 : TOAST Meetup

REST API 제대로 알고 사용하기

meetup.toast.com

 

 

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://docs.aws.amazon.com/ko_kr/mobile/sdkforxamarin/developerguide/getting-started-store-retrieve-data.html

 

DynamoDB를 사용하여 데이터 저장 및 검색 - AWS Mobile SDK

DynamoDB를 사용하여 데이터 저장 및 검색 Amazon DynamoDB는 속도가 빠르고 확장성이 뛰어나며 비용 효과적인 비 관계형 데이터베이스 서비스입니다. DynamoDB는 기존 데이터 스토리지에서의 확장성 제

docs.aws.amazon.com

https://software-creator.tistory.com/14

 

서버리스 앱 개발하기 1 - AWS Lambda와 AWS Gateway 연결

서버리스 앱 개발하기 1 - AWS Lambda와 AWS Gateway 연결 앞으로 서버리스로 앱 개발이란 주제로 3회간 연재를 해보려 합니다. AWS Lambda와 AWS Gateway 연결해보기 AWS Lambda와 DynamoDB 연결하기, Serverless..

software-creator.tistory.com

 

SMALL