Действительно ли возможно найти и удалить осиротевшие блобы в механизме приложения blobstore?

Я использую API Python и создал несколько осиротевших блобов во время тестирования.

Из-за ошибки в панели инструментов я не могу в настоящее время удалять их и в любом случае продвижение, я хотел бы смочь сделать это программно, так как это будет невыполнимо, чтобы сделать это вручную, после того как количество объектов повышается.

5
задан Gareth Simpson 29 May 2010 в 17:30
поделиться

1 ответ

Если ваше поле BlobReferenceProperty проиндексировано, то да, это вполне возможно.

Класс BlobInfo предоставляет тот же набор полей, что и обычная модель, поэтому вы можете сделать это примерно так:

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

Если у вас более нескольких blob-объектов, вы, вероятно, захотите повторно реализовать это с использованием недавно сокращенного API mapreduce .

13
ответ дан 18 December 2019 в 13:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: