[MBaaS][Parse] Cloud Codeでバックエンド機能を拡張する [其の1] [準備]
Cloud Code
Parseへデータを永続化して保存し、CRUDできることをざっと紹介しました。 まあ、完全にRESTfulなアプリケーションやサービスが作れれば、それはそれで良いですが、色々なデータを永続化すると色々と組み合わせて処理をしてみたりしたくなります(よね?!)
データストアの基本的な動作を拡張させることができます。より少ないコードで。それが【Cloud Code】です。 利用する言語はJavaScript
導入
開発ツールのSDKの導入方法。 Installing or Updating the Command Line Tool (Mac/Linux)
SDKのインストール
SDKはワンライナーのコマンドで導入できます。MacやLinuxなどは同じコマンドでいけます。
インストールした環境 マシン:Macbook air OS:OS X 10.9.2 メモリ:8 GB
SDKのインストールは以下のコマンドを打ち込み実行するのみです
curl -s https://www.parse.com/downloads/cloud_code/installer.sh | sudo /bin/bash
終わったら実行して確認してみます。
$ parse No command specified Parse Command Line Interface Version 1.3.1 Copyright 2014 Parse, Inc. http://parse.com Usage: parse <command> (Arguments in <> are required. Those in [] are optional.) Possible commands are: add [app] Adds a new Parse App through an interactive interface. If an argument is given, the added application can also be referenced by that name. -l,--local Stores the new application in the local config file rather than the global one. cliversion Gets CLI tools version. default [app] Gets the default Parse App. If an argument is given, sets the default Parse App. deploy [app] Deploys the current code to the given app. -d, --description Add an optional description to the deploy. develop app Monitors for changes to source files and uploads updated files to Parse. This will also monitor the parse INFO log for any new log messages and write out updates to the terminal. This requires an app to be provided, to avoid running develop on production apps accidently. generate express [option] Generates a sample Express app in the current project directory. -j --jade Use Jade templates (EJS templates is the default). help [command] Prints out usage text for a given command, or all commands if none was specified. jssdk [version] Sets the Parse JavaScript SDK version to use in Cloud Code. Prints the version number currently set if none is specified. -a, --all Shows all available JavaScript SDK version. list Prints the list of apps and aliases associated with this project. log [app] Prints out recent log messages. -n The number of the messages to display. Defaults to 10. -f Emulates tail -f and streams new messages from the server -l, --level The log level to restrict to. Can be 'INFO' or 'ERROR'. Defaults to 'INFO'. new Creates a Parse project in the current directory. An optional argument can be given to specify the directory to create. Otherwise, the 'parse' directory is created. releases [app] Prints the releases the server knows about. rollback [app] Rolls back the for the given app. -r, --release Provides an optional release to rollback to. If no release is provided, rolls back to the previous release. update Updates this tool to the latest version.
はい。確認できました。これでSDKのインストールは完了です
はい。Next
プロジェクト作成
1.Cloud Codeのプロジェクトを作成します。まずはParse上にApplicationを作成しておきます。
2.次にParseコマンドを実行して新しいプロジェクトを作成します。
$ parse new SimpleBlog Creating a new project in directory /Users/hoge/Develop/CloudCode/SimpleBlog Creating directory /Users/hoge/Develop/CloudCode/SimpleBlog/config Creating config file /Users/hoge/Develop/CloudCode/SimpleBlog/config/global.json Creating directory /Users/hoge/Develop/CloudCode/SimpleBlog/cloud Writing out sample file /Users/hoge/Develop/CloudCode/SimpleBlog/cloud/main.js Creating directory /Users/hoge/Develop/CloudCode/SimpleBlog/public Writing out sample file /Users/hoge/Develop/CloudCode/SimpleBlog/public/index.html (snip)
必要なファイルが自動生成されます。次に認証を行います
(cont) Email: youraddress@yours.com Password: (snip)
Parseに登録してあるメールアドレスとパスワードを入力します。 無事認証されれば、次にどのParseアプリケーションを開発するかを選択します。
(cont) 1: TestSample 2: PhotoStore 3: SimpleBlog Select an App: 3
先ほど作成したアプリケーション以外に先に2つほどParseアプリケーションを作っておいたので、選択肢に3つ出てきました。 開発対象のアプリケーションを選択します。 これで、どのアプリケーションに対してCloud CodeをDeployするかが設定に書き込まれます。
サーバーへデプロイ
作成したプロジェクトはローカルで編集した後、サーバーへDeployすることではじめてバックエンドの動作へ反映させることが出来ます。 作成直後のファイルたちは、一度もDeployされていないのでまだ存在しません。Deployしてみましょう。
$ parse deploy
このコマンドだけでDeployされます。
$ parse deploy Uploading source files Finished uploading files New release is named v1 (using Parse JavaScript SDK v1.2.16)
正常にDeployされてParseに展開されているのが確認できました。
注意事項
注意すべき点は、コマンドを実行する際のディレクトリ位置です。
$ pwd /Users/hoge/Develop/CloudCode/SimpleBlog
作成したCloud Codeプロジェクト内でなければ、Parseコマンドは無効です。プロジェクトディレクトリ外で実行してみます。
$ parse deploy /usr/local/bin/parse should be run in a directory containing a Parse project
はい。怒られました。Parseコマンドを実行する場合は、プロジェクトディレクトリ以下で実行しましょう
開発のヒントになるドキュメント(超重要)
Cloud Codeで開発する上で必須のドキュメントはこれ。正直このドキュメントとStackOverflowくらいしか参考になりません。
Parse JavaScript SDK & Cloud Code Reference
ここからうまく組み上げます
まとめ
まずは、Parseのバックエンドの動作を開発するためのSDKの導入までを紹介しました。 次回は、具体的なFunctionの説明、デバッグの方法などを紹介します