JavaScript SDKをコマンドラインから便利に使えるようにするライブラリ ncmb-cli がCSVからのデバイストークンのインポートに対応しました。これまで外部のプロジェクトを使ってきて、ニフクラ mobile backendへ移行する際などに利用できるでしょう。
インストール
インストールは npm にて行います。
npm install ncmb-cli -g
CSVのフォーマットについて
CSVは以下のカラムが必要です。
- applicationName
- appVersion
- badge
- channels
- deviceToken
- deviceType
- sdkVersion
- timeZone
objectId、createDate、updateDateはあっても登録されません。Installationはデバイストークンでユニーク制約をかけているため、同じデバイストークンがすでにあると処理に失敗しますので注意してください。
使い方
コマンドは次のように入力します。型変換をするのでオプションが追加されています。
$ ncmb csv import filename -b -d --object true --classname Installation -l
filenameはCSVファイルを指定してください。実行すると次のようにログが出ます。
$ ncmb csv import --classname Installation installation.csv -b -d --object -l Row #1, data saved. objectId is ugbU98tKfz4yptsb Row #2, data saved. objectId is wL60DHR34ZtqcLK1
会員情報について
会員情報のインポートも同じ仕組みで対応しました。会員の場合は次のようなカラムが必要です。
- userName
- mailAddress
- authData
$ ncmb csv import --classname User user.csv -b -d --object -l Row #1, data saved. objectId is ugbU98tKfz4yptsb Row #2, data saved. objectId is wL60DHR34ZtqcLK1
注意点としては次の通りです。
- パスワードはランダム生成されます
- メールアドレス確認メールを送信する設定にしていると、登録時にメールが送信されてしまうので注意してください
- ユーザ名が重複しているとエラーになります
まとめ
アプリケーションを移動したり、テスト環境を作る際に使えるのではないでしょうか。Excelなどでデータを編集の上、使ってみてください。
管理画面のCSVインポート機能は規定のクラス(ユーザ、ファイル、プッシュ通知)には対応していませんのでご注意ください。