nirasan's tech blog

趣味や仕事の覚え書きです。Linux, Perl, PHP, Ruby, Javascript, Android, Cocos2d-x, Unity などに興味があります。

Parse の Cloud Code を試す

はじめに

cocos2d-x で Parse を試した流れで、Parse のアプリケーションホスティング的なサービスの Cloud Code を試してみた。

ツールのインストール

curl -s https://www.parse.com/downloads/cloud_code/installer.sh | sudo /bin/bash

Parse用のディレクトリの作成

cd ~
mkdir Parse
parse new useParse
  • Parseに登録したメールアドレスとパスワードを聞かれるので入力
    • github連携機能でアカウントを作成したらパスワードがセットされてなかったので、Parseのサイトの管理画面でパスワードを設定する必要があった。
  • 使用するアプリの一覧が出るので選択
    • あらかじめアプリを作っておく必要がある
  • 実行ディレクトリにアプリ名のディレクトリができるので、これを変更してデプロイする

簡単なユーザー定義アクションの実行

  • cloud/main.js に関数を登録すると、API経由で実行できるようになる。
  • 今回は"Hello world 2!" と出力するだけの関数を登録する
Parse.Cloud.define("hello2", function(request, response) {
  response.success("Hello world 2!");
});
  • デプロイ
parse deploy
  • アクセスする curl コマンドは認証用のオプション付きでドキュメントページに記載されている
  • 下記はIDとKEYを書き換えている
curl -X POST \
  -H "X-Parse-Application-Id: SOME_ID" \
  -H "X-Parse-REST-API-Key: SOME_KEY" \
  -H "Content-Type: application/json" \
  -d '{}' \
  https://api.parse.com/1/functions/hello2

静的ページの表示

サブドメインを設定する

  • Parseのアプリのダッシュボードの「Settings」にある「Web hosting」の項目で、ウェブページ配信用のサブドメインを設定する。
  • 有料プランにするとドメイン名を変更できるよう。

静的ページを作成する

echo '<html><head><title>HELLO WORLD</title></head><body><h1>HELLO WORLD</h1><p>hello from parse!</p></body></html>' > public/hello.html

ブラウザでページの確認

http://APPNAME.parseapp.com/hello.html

動的ページの表示

  • 動的ページ用拡張を有効にする
parse generate express
  • 拡張用のファイルとサンプルができる
cloud/views
cloud/app.js
cloud/views/hello.ejs
  • main.js に拡張用の記述追加
require('cloud/app.js');
  • デプロイ
parse deploy
  • 表示確認
    • cloud/views/hello.ejs が /hello に対応しているので、静的ページと同じように確認。

http://APPNAME.parseapp.com/hello

  • ページ追加
    • app.js にページ定義の追加
app.get('/hello2', function(req, res) {
  res.render('hello', { message: 'hello from dynamic parse page!' });
});
    • cloud/views/hello2.ejs という名前でテンプレートの追加
<!DOCTYPE html>
<html>
  <head>
    <title>Sample App</title>
  </head>
  <body>
    <h1>Hello World 2</h1>
    <p><%= message %></p>
  </body>
</html>
  • デプロイ
  • 表示確認

http://APPNAME.parseapp.com/hello2