Android에서 Amazon Dynamo DB 사용하기

Lee InnJie·2022년 6월 10일

AWS Lambda

목록 보기
1/3

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을 위한 소프트웨어 구조이다. 리소스를 정의하고, 주소를 지정하여 HTTP상에서 부가적인 전송 레이어 없이 전송하기 위한 방법을 정의한 것이다.

  • Resource : URI를 통해 접근할 수 있는 응집되고 의미있는 개념

REST API 구성

  • 자원(Resource) : URI
  • 행위 : HTTP METHOD
  • 표현(Representations) : XML, JSON, HTML을 포함한 다양한 형식을 사용하여 현재 상태를 표현

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

2. 테스트 생성

우측 상단의 [테스트] 버튼을 클릭하고 수정 후 실행하면 결과값이 출력된다.


AWS API Gateway 연결

AWS API Gateway
api를 만들 때 사용한다. aws의 서비스와 외부 애플리케이션 간의 통로로 사용 가능하다.
위에서 작성한 lambda 또한 애플리케이션에서 사용할 수 있도록 gateway와 연결해야 한다.
API는 REST API를 사용한다.

API를 만들고 새 하위 리소스를 생성한다.
리소스 이름은 parameter로 전달되어 url에 사용된다.

[메소드 생성]을 클릭하고 종류는 GET로 지정한다.
실제 사용하는 함수는 사용할 REST API용도에 맞춰 메소드를 생성하면된다.

Lambda함수를 선택하고 위에서 작성한 Lambda 함수를 입력한다.
이 작업까지는 Lambda 함수와 API를 연결한 과정이고, 실제 사용하기 위해서는 API를 배포해야한다.


배포 스테이지 이름을 작성하고 배포한다.
이후 이동하는 Stage 페이지에 배포된 URL이 생성되고 그 URL을 사용하여 POST 메소드를 실행하면 된다.

Android studio 사용

안드로이드 스튜디오에서 실제 코드에 적용할 때는 다양한 방법이 있다.
aws docs에는 APIClientFactory 클래스를 import하여 사용하는 방법을 소개하고 있다.
그 외에도 직접 JSON파싱을 하는 방법으로도 구현할 수 있다.


참고 가이드

AWS docs
유저 가이드

profile
⌒_⌒

0개의 댓글