Google AppEngine for Java のDataStoreデータのバックアップ


たまにはちょっとだけまじめな内容で

弊社のTHiNQというクイズ・アンケート作成ソフトでは、エキスパート版を購入するとTHiNQreportというTHiNQコンテンツの受講データを蓄積・閲覧するサービスを提供しています。

詳しく知りたい方はこちら↓

このサービスはGoogleAppEngine for Javaを利用して構築しておりまして、データもだいぶ溜まってきたのでGAE標準のツールでデータバックアップできないか試してみました。
以前からPython版のGAEではできることを知っていたんですが、調べてみたらJavaでも既にやっている方がいらっしゃいました!意外に簡単そうですばらしい!!

Google AppEngine for Java のDBのバックアップ by sumyapp

 

上記のサイトの内容通りにやってみます。
GAE/Jアプリ側にリモートAPI接続設定を行ってアップロード、GAE/Pytonのデータバックアップツールを利用してデータバックアップするようです。

  1. GAE/Jのアプリケーションのweb.xmlにremoteapiの設定を追記してGAEへアップロード
  2. GAE for Python SDKをGoogleDevelopersのページからダウンロード
  3. GAE for Python SDK内のbulkloader.pyをコマンドプロンプト(開発環境がWindows7なので)から実行!

。。。バックアップできない。。。なんで??

よく見るとコマンドプロンプトにエラーが出てた。

google.appengine.ext.remote_api.remote_api_stub.ConfigurationError: Token validation failed during app_id lookup.

 

Googleで検索してみると同じようなエラーが困っている人がいました。

Why did my appcfg.py command fail after upgrade from 1.4.3 to 1.5.0?

要するに、GAE for Python SDK内のPythonプログラム(remote_api_stub.py)を修正すれば正常に実行できるらしい。
<修正するファイル>
C:\Program Files\Google\google_appengine\google\appengine\ext\remote_api\remote_api_stub.py
※このパスはSDKインストール先に依存します。

<修正内容>

500行目あたり
if app_info[‘rtok’] != remote_token:

if str(app_info[‘rtok’]) != remote_token:

 

上記の修正を行って再度コマンドプロンプトからbulkloader.pyを実行したところデータバックアップできました。
よかったよかった。おしまい。

The following two tabs change content below.

伊藤(秀)

Comments are closed.