A user of our application has accidently deleted data. They'd like this to be restored. We have no special logic or datastore entities that can do this.
However, we do daily backups of our entire datastore to blobstore using the datastore admin.
What are our options for selectively restoring part of this backup back into the datastore?
We'd preferably like to not have a service interruption for other users. One final restriction is that we can not change our production app id (i.e. copy data over to a new app and then restore the backup to our old app - this is because our clients reference our appid directly).
Thoughts?
UPDATE
I was thinking of running a mapreduce over all the blobs in our app and finding the ones that are to do with our backup. Parsing these backups and restoring the entities as needed. The only issue is, what format are the blobs stored in? How can I parse them?