mBaaS上で自由にコードを実行できるスクリプト機能がリリースされました。これでmBaaSを使う時の自由度が大幅にアップするはずです。
ということで今回はまずHello Worldを動かすまでの流れを紹介します。
管理画面にスクリプトメニューが追加!
以下はmBaaSの管理画面ですが、右側にスクリプトというメニューが追加されています。これをクリックすると、次のような画面が表示されます。
スクリプトファイルをアップロードする
実際にアップロードするスクリプトですが、Web上で書くことはできません。予めファイルを作成しておいて、それをアップロードします。なお、言語はNode.jsとなっています。
書き方としては、次の内容が基本になります。
module.exports = function(req, res) { // コードを書く };
そして、レスポンス(res)オブジェクトに対してレスポンスコードや内容を設定して返します。今回はこんな感じに書いてみました。
module.exports = function(req, res) { res.status(200).json({ time: Date.now(), data: req.query, mgs: "Hello World" }) };
これは処理分けは行っていませんが、サーバの現在時刻(タイムスタンプ)とテキスト、そしてリクエストされたパラメータを出力します。
アップロードする際の注意点ですが、必ず .js
という拡張子をつけるようにしてください。また、適切なパーミッションを設定してください。特定のユーザ(管理者など)だけ実行できるようにすることもできます。逆に全員に実行権限を与えることもできます。
管理画面で実行してみる
では実際に実行してみます。今回は管理画面から実行してみます。アップロードされたスクリプトを選択すると、テスト実行できる画面が表示されます。
ここでヘッダーやクエリーを指定することができます。
そして実行すると、レスポンスが返ってきます。
このようにして任意のスクリプトを実行できるようになります。
実行ログを確認する
実行結果はログとして確認できるようになっています。期間やステータスコードでの絞り込みができるようになっていますので、試してみてください。
注意点
スクリプトをアップデートすると、一時的にエラーが発生します。内容は ScriptNotYetDeployedError: Script is not yet deployed. で、デプロイが行われる前のエラーです。これは数秒で出なくなりますが、アプリ側でもこのエラーの場合はリトライすると言った仕組みが必要かも知れません。
スクリプト機能を使うことで、複雑だったアプリ側のロジックを簡素化したり、AndroidとiOSでロジックを共通化することができます。他にも様々なメリットが考えられますので、それは今後紹介していきます。
3月中はβにつき、無制限に試せます。ぜひトライしてみてください。