0
0

NCMBのデータエクスポートに使えるGoogle Chrome機能拡張(ファイルストアの全ファイルダウンロード)

Posted at

NCMBは2024年3月31日をもって終了します

NCMBを利用されている方々は、まずアプリのデータを適切に保全し、移行先を検討する必要があります。NCMBにはエクスポート機能はあるのですが、ダウンロード実行まで時間がかかったり、ファイルストアには対応していないという問題があります。

そこで、本来は管理画面を便利に使ってもらうために作っていたChrome機能拡張に、データ移行に関する機能を追加しました。以下はファイルストアの全ファイルダウンロード機能の紹介です(v1.5より)。

動作について

動作は以下のようになります。機能拡張をインストールしていると、ファイルストアの画面で一括ダウンロードボタンが表示されます。このボタンを押すと、ファイルストアにある全ファイルがダウンロードされ、一緒にファイルストアのJSONデータ files.json もダウンロードされます。

1835_console_mbaas_nifcloud_com_-_1208153533.jpg

インストール

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です)。

まとめ

サービスがクローズすると、そのデータにアクセスできなくなります。まずはデータの保全をお願いします。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0