I\'m using the python api and have created a few orphaned blobs during testing.
Because of a bug in the dashboard, I can\'t currently delete these, and in any case g
Slight improvement: using run instead of fetch will return an iterable instead of a list, so you don't need to limit the number of entries in the query:
blobs = BlobInfo.all().run()
instead of
blobs = BlobInfo.all().fetch(500)
If your BlobReferenceProperty field is indexed, then yes, it's quite possible.
The BlobInfo class provides the same set of fields as a regular model, so you can do it something like this:
blobs = BlobInfo.all().fetch(500)
for blob in blobs:
if not MyModel.all().filter("blob_ref =", blob.key()).count(1):
blob.delete()
If you have more than a few blobs, you probably want to reimplement this using the recently reduced mapreduce API.