GAE — Как многократно удалять большие двоичные объекты

#google-app-engine #google-cloud-datastore

#google-app-engine #google-облачное хранилище данных

Вопрос:

С помощью NDB вы можете удалять несколько записей одновременно, используя ndb.delete_multi (список ключей). Мне не удалось найти аналогичную функциональность в BlobStore, поэтому каждый ключ необходимо повторить и удалить. Есть ли более эффективный способ, подобный delete_multi?

Ответ №1:

google.appengine.ext.blobstore.delete может использовать список ключей больших двоичных объектов.

Комментарии:

1. Фантастика, спасибо. Я не уверен, почему в документации Blobstore это также не указано. Это просто ссылается на одно удаление. Отличная находка!

Ответ №2:

Какую логику вы будете использовать, чтобы определить, какие из них удалять? Можете ли вы запросить это?

 old_stuff = MyStuff.query(MyStuff.date_created < old_date).fetch(keys_only=True)
ndb.delete_multi(old_stuff)
  

Комментарии:

1. В моем случае я сохраняю ключ большого двоичного объекта в таблице NDB со связанными данными. Я могу поместить эти ключи в список и удалить его с помощью функции, о которой упоминал Грег выше.