mBaaSではデータのロックインを緩和するようにデータのエクスポートを機能を備えています。ただしデータが多い場合もあるためにメールアドレス宛にダウンロードURLが届く仕様となっています。これでは日々データを自社システムに取り込んで解析したいというニーズには向かないかと思います。
そこで、簡易的にデータをCSVとしてエクスポートできるツールを作ってみました。動作は次のようになります。
ここでは分かりやすさのために30件ごとにしていますが、デフォルトでは100件ごとの取得です。
使い方
アプリケーションキーとクライアントキーを入れる場所があるので、まずそこに入力してください。キーはlocalStorageに保存されるので再読込した時には自動で入力されている状態になっています。
次にクラス名を入力します。クラス名一覧などを取ることができないので、ここは自分で入力してください。
最後にエクスポートボタンを押します。100件ずつ取得して、CSVファイル化します。
終わったらダウンロードボタンが表示されますので、押すとCSVファイルがダウンロードできます。
処理内容
JavaScript SDKを使っています。100件ずつデータを取ってきて配列に保存し、CSV化しています。非同期処理時にループで回すのはちょっと面倒ですが、Promiseを使って書いてあります。ダウンロードされるCSVファイルはBlobオブジェクトを使ってファイル化しています。
注意点
対応しているカラムは文字列、数字のみになります。aclの出力には対応していません。位置情報の出力にも今のところ対応していません。また、Promiseを使っている関係上、モダンなブラウザでしか動かないかと思います。
HTML/JavaScriptファイルのみで、サーバを立てなくともローカルファイルとして開いて使えます。データストアをエクスポートして解析を行う際にぜひご利用ください。