GAE/Jデータストアのバックアップ

GAEのデータストアに保存されたデータをバックアップする方法がないので作ってみました。下記のリンクからソースコードをダウンロードできます。エンティティ単位のため、親子関係などは考慮されません。また、重要なデータには使用しないでください。

バックアップからリストアまでの流れ

  • バックアップ
    低レベルAPIでエンティティを1つずつ取得し、シリアライズしてバイナリファイルとしてダウンロード。1リクエストで1Mバイトの制限があるため1エンティティを1ファイルとしています。
  • リストア
    バックアップされたエンティティを1ファイルずつpostで送信。デシリアライズしてデータストアに格納する。

使用方法

  1. サーブレット側: GAEBackupServlet.jarの中身をGAEのどこかに設置して、マッピングする。FileBackup.java#BackupKindListにバックアップするデータクラス(kind)を記述する。
  2. アプリケーション側: サーブレットでマッピングしたurlを入力しkindリストを得る。バックアップ/リストアするデータのkindを選択してバックアップの場合は「取得開始」ボタン、リストアの場合は「送信開始」ボタンを押す。
バックアップ利用イメージ

バックアップ利用イメージ

ダウンロード
サーブレット:GAEBackupServlet.jar
アプリケーション:GAEBackupTool.jar

公式サイトを見ると2010年1月にはバックアップするためのツールが公開されるというような話があります。

petit posted at 2009-12-10 Category: Google App Engine

4 Responses Leave a comment

  1. #1Roberson @ 2009-12-10 17:26 Reply

    Interesting article, thanks for posting

    • petit @ 2009-12-14 03:43

      Thank you for being interested.
      I sometimes broadcast a live-coding video on the Peercast network.
      If you were interested, please leave message : )

  2. #2gmi @ 2009-12-14 01:54 Reply

    oh… inte-resutingu kiji

    • petit @ 2009-12-14 03:46

      hello, peercast listener! in japanese ok.

Leave a Reply

(Ctrl + Enter)