[MBaaS][heroku] StrongLoopのloopbackをHerokuで動かす

By |10月 1, 2014|heroku, Javascript, MBaaS, Node.js, |0 comments


以前、個人的に自前でホスティング可能なOSSなMBaaSであるDeploydをHerokuにデプロイしてみたんですが、今回はStrongLoopのloopbackをHerokuで動かしてみます。

まず npm install -g strongloop で slc コマンド使えるようにしてからサンプルを作成します。yeomanなウィザードが始まって色々聞かれますが以下のようにします。

$ npm install -g strongloop
$ slc loopback

     _-----_
    |       |    .--------------------------.
    |--(o)--|    |  Let's create a LoopBack |
   `---------´   |       application!       |
    ( _´U`_ )    '--------------------------'
    /___A___\    
     |  ~  |     
   __'.___.'__   
 ´   `  |° ´ Y ` 

[?] Enter a directory name where to create the project: loopback-sample
   create loopback-sample/
     info change the working directory to loopback-sample

[?] What's the name of your application? loopback-sample
   create .editorconfig
   create .jshintignore
   create .jshintrc
   create .npmignore
   create server/boot/authentication.js
   create server/boot/explorer.js
   create server/boot/rest-api.js
   create server/boot/root.js
   create server/server.js
   create client/README.md
...

あとは slc run するとローカルでサーバが起動します。

$ cd loopback-sample
$ slc run .
INFO strong-agent not profiling, StrongOps configuration not found.
Generate configuration with:
    npm install -g strongloop
    slc strongops
See http://docs.strongloop.com/strong-agent for more information.
supervisor running without clustering (unsupervised)
Browse your REST API at http://localhost:3000/explorer
Web server listening at: http://localhost:3000/

http://localhost:3000/explorer を見てみましょう。以下のようなREST APIのExplorer画面が表示されます。

既にあるUserをクリックして展開してみましょう。Userというリソースに対するAPIのエンドポイントが一覧表示されます。

試しに POST /Users/login を開いてみましょう。ここからお手軽にAPIテストも可能な感じです。

ということでココからユーザを作ってみましょう。POST /Users で以下のようにしたら作成できました。

では作成したユーザでログインしてみましょう。再び POST /Users/login を開いて以下のようにしたらログインが完了してResponse BodyにAccess Tokenが返ります。Response BodyのidというのがAccess Tokenです(idってキーが解りにくいですが)

で、Access Tokenをセットして GET /Users/{id} で作成したユーザのIDを渡すとユーザ内容が返ってきます。

あとはHerokuに上げるだけですがoperated by StrongLoopに書いている通り package.json を編集して Procfile を作成してpushすればOKです。

あと、ドキュメント後半にHerokuのStrongLoopアドオンもあります。これは StrongOps というモニタリングツールで作成したアプリケーションの様々なメトリクスを監視するツールのようで以下のような画面です(ローカルのアプリケーションも監視できてキモいです)

最後に特にDBが見当たりませんがこのユーザのデータはどこに保存されているのでしょうか?実はデフォルトではメモリに保存しているようです。つまりDynoが再起動したらユーザは全部消えます。

永続化するにはData sources and connectorsを参考に。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です