NCMBを利用されている方々は、まずアプリのデータを適切に保全し、移行先を検討する必要があります。NCMBにはエクスポート機能はあるのですが、ダウンロード実行まで時間がかかったり、ファイルストアには対応していないという問題があります。
そこで、本来は管理画面を便利に使ってもらうために作っていたChrome機能拡張に、データ移行に関する機能を追加しました。以下はファイルストアの全ファイルダウンロード機能の紹介です(v1.5より)。
動作について
動作は以下のようになります。機能拡張をインストールしていると、ファイルストアの画面で一括ダウンロードボタンが表示されます。このボタンを押すと、ファイルストアにある全ファイルがダウンロードされ、一緒にファイルストアのJSONデータ files.json
もダウンロードされます。
インストール
Chrome機能拡張のページからインストールしてください。
ファイルについて
ファイルは、登録されているファイル内容とファイル名でそのままダウンロードされます。また、最後にダウンロードされる files.json
というファイルはファイルストアのデータに関するものです。このファイルでは、アクセス権限(ACL)情報を保存しています。
移行先はさまざまですが、ファイルストレージがACLに対応している場合に利用できるはずです。
files.json
は以下のような内容です。
{
"results": [
{
"fileName": "1689665784827.jpeg",
"mimeType": "image/jpeg",
"fileSize": 88044,
"createDate": "2023-07-18T07:36:25.139Z",
"updateDate": "2023-07-18T07:36:25.139Z",
"acl": {
"*": {
"read": true
},
"g37Ca2tI1zMVW6d7": {
"write": true
}
}
},
{
"fileName": "1689665736957.jpeg",
"mimeType": "image/jpeg",
"fileSize": 88044,
"createDate": "2023-07-18T07:35:38.092Z",
"updateDate": "2023-07-18T07:35:38.092Z",
"acl": {
"*": {
"read": true
},
"g37Ca2tI1zMVW6d7": {
"write": true
}
}
},
:
]
}
制限
この機能拡張は https://console.mbaas.nifcloud.com 以下でのみ動作します。また、この機能は管理画面のAPIを使っていますので、APIコール数を消費しません。また、ACLは無視して処理されます。
ファイルダウンロードは、直列処理で行っています(負荷軽減のため)。大量にファイルがある場合には、時間がかかる可能性があるので注意してください。
コードについて
機能拡張のコードはNCMBMania/chrome-extensionにアップロードしてあります。ライセンスはMIT Licenseです。依存ライブラリとしてURL.jsを使っています(こちらもMIT Licenseです)。
まとめ
サービスがクローズすると、そのデータにアクセスできなくなります。まずはデータの保全をお願いします。