5

私は python API を使用しており、テスト中にいくつかの孤立したブロブを作成しました。

ダッシュボードのバグのため、現在これらを削除することはできません。いずれにせよ、エンティティの数が増えると手動で削除することは不可能になるため、今後はプログラムで削除できるようにしたいと考えています。

4

2 に答える 2

13

BlobReferencePropertyフィールドにインデックスが付けられている場合は、そうです、それはかなり可能です。

BlobInfoクラスは、通常のモデルと同じフィールドセットを提供するため、のように実行できます。

blobs = BlobInfo.all().fetch(500)
for blob in blobs:
  if not MyModel.all().filter("blob_ref =", blob.key()).count(1):
    blob.delete()

ブロブが数個以上ある場合は、最近縮小されたmapreduceAPIを使用してこれを再実装することをお勧めします。

于 2010-06-01T09:24:10.937 に答える
1

わずかな改善: の代わりに使用runするfetchと、リストの代わりにイテラブルが返されるため、クエリのエントリ数を制限する必要はありません。

blobs = BlobInfo.all().run()

それ以外の

blobs = BlobInfo.all().fetch(500)
于 2014-10-23T23:28:16.777 に答える