2011-12-23 9 views
0

データストアからバルクレコードを削除する必要があります。すべての以前のリンクを調べましたが、データストアからエンティティを取得して1つずつ削除する私は約80Kのエンティティを持っていると私はそれがデータストアのdb.delete()メソッドを使用してしようとするたびに読み取りタイムアウトを取得します。Google App Engien Datastoreから一括削除を行う方法

ここで誰かが一括削除を実行するためにSQLに近い方法を知っていますか?

+2

答えを見る[HERE](http://stackoverflow.com/questions/108822/delete-all-data) -for-a-kind-in-google-app-engine /)を使用します。 :) – Kjuly

答えて

3

タスクキュー+ DBカーソルを削除に使用できます。

タスクは最大10分間実行できますが、すべてのエンティティを削除するには十分な時間です。しかし、時間がかかる場合は、現在のカーソル位置を取得し、このカーソルをパラメータとしてタスク自体をもう一度呼び出し、最後の位置から処理を開始することができます。

0

使用しているAPIを定義します。 JDO? GAE? JPA?いくつかのdb.deleteを参照しますが、これをJDOとしてタグ付けします。彼らは同じではありません。 JDOは明らかにpm.deletePersistentAll()を提供しています。それ以上のものをお望みなら、Google Mapper APIを利用することができます。

関連する問題