GAE/Jデータストアのバックアップ
GAEのデータストアに保存されたデータをバックアップする方法がないので作ってみました。下記のリンクからソースコードをダウンロードできます。エンティティ単位のため、親子関係などは考慮されません。また、重要なデータには使用しないでください。
バックアップからリストアまでの流れ
- バックアップ
低レベルAPIでエンティティを1つずつ取得し、シリアライズしてバイナリファイルとしてダウンロード。1リクエストで1Mバイトの制限があるため1エンティティを1ファイルとしています。 - リストア
バックアップされたエンティティを1ファイルずつpostで送信。デシリアライズしてデータストアに格納する。
使用方法
- サーブレット側: GAEBackupServlet.jarの中身をGAEのどこかに設置して、マッピングする。FileBackup.java#BackupKindListにバックアップするデータクラス(kind)を記述する。
- アプリケーション側: サーブレットでマッピングしたurlを入力しkindリストを得る。バックアップ/リストアするデータのkindを選択してバックアップの場合は「取得開始」ボタン、リストアの場合は「送信開始」ボタンを押す。
ダウンロード
サーブレット:GAEBackupServlet.jar
アプリケーション:GAEBackupTool.jar
公式サイトを見ると2010年1月にはバックアップするためのツールが公開されるというような話があります。
4 Responses Leave a comment
Interesting article, thanks for posting
Thank you for being interested.
I sometimes broadcast a live-coding video on the Peercast network.
If you were interested, please leave message : )
oh… inte-resutingu kiji
hello, peercast listener! in japanese ok.