GoogleAppEngineの管理画面に Datastore Admin のメニューがあるのでクリックしてみる(下)。
何も設定していない状態だとメッセージが表示されている。内容は、アプリケーションで Datastore Admin を利用するときは app.yaml ファイルに次の記述を追加する必要がある、といったものだ。
builtins: - datastore_admin: on
さっそく記述を追加して、ソースをアップロードする。
通常はこれで使えるはずだ。しかし管理画面で Datastore Admin を開くと、画面が空白で何も表示されない。
いろいろ調べたところ、認証関係の設定で起きる現象のようだ。
そのうち記事にする予定なのだが、GoogleAppEngine のAPIで OpenID 認証が提供されるようになった。サービスを利用するためには、管理画面の認証オプションを、Federated Login に設定する必要がある。この設定が影響しているようだ。
その証拠に app.yaml のURLパターンの /_ah/login_required に認証用プログラムを割り当てていると、 Datastore Admin 画面でそのプログラム画面が表示されるようになる。ただ OpenID用の認証プログラムでサインインしたら Datastore Admin が使えるようなるわけではない。このため Datastore Admin を利用するときは、認証関係の設定を元に戻しておく必要がある。
それでは設定を元に戻してみる。管理画面の Application Settings 画面を開き、Authentication Options を Google Accounts API に変更して Save Settings ボタンを押す。
これでもう一度、Datastore Admin メニューを選択すると Datastore Admin が表示されている!。
さて本題の異常データーの削除であるが、Datastore Admin の画面で削除したい Kind を選択してから Delete ボタンを押せば Kind まるごと削除できる。
この方法が正しいのかは判断はできない。もっと良いやり方があるような気もする。しかしデータ異常で困ったときは、Datastore Admin を使えば何とかなるようだ。その場合、認証関係の設定に注意してくださいというのが、この記事の結論となる。