카테고리 없음

구글 앱엔진 등록과 대시보드 사용 2편 (tinyWebDB 사용법)

kusson 2017. 12. 27. 15:00
반응형
728x170

지난 시간에는 '구글 앱엔진 등록과 대시보드 사용 1편'으로 구글 클라우드 플랫폼 대시보드에 'Hello World' 페이지를 등록하는 방법을 알아보았다. 이번 시간에는 이제 우리의 목적인 앱인벤터2의 tinyWebDB를 등록하는 방법에 대해 알아 보겠다. '구글 앱엔진 등록과 대시보드 사용 1편'을 아직 연습해 보지 않은 사람은 1편으로 가서 충분히 연습을 거친 후에 2편을 보길 권한다. 1편에서 필자 나름으로는 상당히 자세하게 설명했기 때문에 2편에서는 1편과 중복되는 부분을 과감하게 생략하고 핵심만 짧게 짧게 짚고 나갈 생각이다.


먼저 1편과 마찬가지로 자신의 구글 클라우드 플랫폼에 들어가서 tinyWebDB를 염두에 둔 프로젝트를 하나 만들고 나온다. 필자는 'tinyWebDBTest'라는 프로젝트를 만들었다. 그리고 프로젝트 ID는 어디에 잘 적어두도록 한다.


'http://appinventor.mit.edu/explore/content/custom-tinywebdb-service.html'에 들어가서 sample코드를 다운받아 압축을 푼다. 경로가 어디인지 잘 확인해 두자.


이제 압축을 푼 곳에 가보면 'appinventordb'라는 폴더가 보일 것이다. 1편처럼 바탕화면에 'appinventordb' 폴더를 하나 복사해 둔다. 도스창에서 경로를 키보드로 입력해야 하기 때문에 약간의 수고를 들기 위해서 이렇게 하는 것이다. 'appinventordb' 폴더속에 어떤 파일들이 들어 있는지 궁금한 사람들은 직접 들어가서 해당파일들의 소스 코드를 미리 봐 두는 것도 좋을 것이다.


'appinventordb' 폴더 속에는 app.yaml 파일이 있는데 이 파일이 구글 크라우드 플랫폼의 프로젝트 이름과  버전, 메인 파이썬 파일의 위치 등을 지정해 주는 파일이다. 처음 파일을 열어보면 위에서 보는 것처럼 프로젝트 이름이 'customtinywebdb27'로 되어 있다. 프로젝트 이름이 다르기 때문에 이것때문에 에러가 발생한다. 따라서

자신의 프로젝트와 상관이 없는 1, 2 라인을 지우고 저장한다.


이제 여기서 부터는 지난 1편과 유사한 과정의 반복이기 때문에 간단하게 지나가겠다. 잘 이해가 안되는 분은 1편으로 가서 다시 살펴보고 오기 바란다. 구글 SDK 콘솔(쉘)을 오픈해서 "google-cloud-sdk\bin\dev_appserver.py 'appinventordb 폴더 경로'"를 입력한다.


여러가지 과정을 거쳐 성공적으로 파일이 실행되면 로컬 호스트가 작동 중이라는 메시지가 출력된다. 



크롬을 열어서 주소창에 'localhost:8080'을 입력한다.



모든 과정이 성공적이라면 위와 같은 로컬 DB가 개설된 것이 나타날 것이다. 이 페이지에서도 Tag와 Value 값을 입력하고 받아볼 수 있다. 만약 위와 같은 로컬 DB가 나타나지 않으면 처음부터 다시 시도해야 한다.


이제 localDB를 구글 클라우드 플랫폼에 등록하는 과정에 들어간다. 다시 구글 SDK 콘솔을 열어서 'appinventordb' 폴더 루트 디렉토리로 변경한다. 아마 윈도우 세대라면 도스 명령어에 익숙하지 않은 사람이 많을 것이다. 'cd\'란 명령은 'change directory'의 약자로 '루트디렉토리로 가라'라는 명령이고 'cd 다음디렉토리명'을 입력하면 해당 디렉토리로 이동한다. 참고로 'dir/w'란 명령어는 해당 디렉토리안의 파일들을 보여주는 명령이다. 'appinventordb' 루트 디렉토리에서 'gcloud app deploy --project 프로젝트 ID'를 정확하게 입력한다.


모든 과정이 성공적으로 끝나면 자신의 구글 클라우드 플랫폼 대시보드에 앞에서 deploy한 파일들이 등록된 것을 확인할 수 있다. 버전 아래의 숫자를 클릭해 보면 tinyWebDB의 데이타베이스 서비스 항목으로 이동한다.



이제 정상적으로 tinyWebDB가 개설된 것이 보인다. Tag값과 Value값을 넣어서 저장이 되는지 확인해 본다. 저장이 되지 않으면 에러가 있는 것이므로 처음부터 다시해야 한다.


대시보드 'Datastore'항목에 가보면 앞에서 입력한 내용이 들어와 있는 것을 볼 수 있다.




이제 앱인벤터2 사이트에 들어가서 실제 코드를 작성해 보자. tinyWebDB의 ServiceURL에 프로젝트ID를 입력하는 것을 잊지 말자. 그리고 Build 시켜서 스마트폰으로 실행해 보자.




상단 value값에 '앱인벤터2 tinywebdbtest'란 값을 입력했다. Tag는 'tinyWebDB_Test'로 되어있다. '데이터입력' 버튼을 누른후 '데이터 가져오기'버튼을 클릭하면 정상적으로 데이터를 받아오고 있다. 



구글 대시보드에 가서 Datastore를 확인해 보면 스마트 폰에서 입력한 내용이 그대로 들어와 있는 것도 확인 가능하다.


이것으로 모든 설명을 마치도록 한다. 구글 앱엔진에 local server를 등록하는 법과 앱인벤터를 이용해 tinyWebDb의 데이터를 주고 받는 방법을 알아보았다. 대시보드상에서 Tag값과 Value값을 입력할 수도 있고 앱인벤트로 제작한 앱에서 입력하고 받아오는 것 모두 가능하다. 이 방법을 이용해서 재미있는 앱을 제작할 수 있을 것이다. 관심있는 분들은 직접 도전해 보기 바란다. 


반응형
그리드형