servindo imagem do blobstore por meio de endpoints do app-engine

Eu estou construindo uma api endpoint de motor de aplicativos que tira foto de um usuário (app android) e salva-lo para o blobstore programaticamente. Em seguida, salve o blob_key no meu armazenamento de dados. O código é assim:

Primeiro recebi a imagem através do meu@endpoint.method como ummessages.BytesField:

image_data = messages.BytesField (1, required = True)

Então eu salvo no blobstore assim:

from google.appengine.api import files

def save_image(data):
  # Create the file
  file_name = files.blobstore.create(mime_type='image/png')

  # Open the file and write to it
  with files.open(file_name, 'a') as f:
    f.write('data')

  # Finalize the file. Do this before attempting to read it.
  files.finalize(file_name)

  # Get the file's blob key
  blob_key = files.blobstore.get_blob_key(file_name)
  return blob_key # which is then saved to datastore

Agora quero servir a imagem de volta. Eu não vejo como encaixar o seguinte código em meus endpoints api:

from google.appengine.ext import blobstore
from google.appengine.ext.webapp import blobstore_handlers
class ServeHandler(blobstore_handlers.BlobstoreDownloadHandler):
  def get(self, resource):
    resource = str(urllib.unquote(resource))
    blob_info = blobstore.BlobInfo.get(resource)
    self.send_blob(blob_info)

No final, imagino um procedimento de serviço como este:

em @ endpoints.method:

obter blob_key do armazenamento de dados

obter imagem com blob_key

adicionar imagem ao StuffResponseMessage

enviar StuffResponseMessage para front-end (app android)

Minha abordagem é porque eu quero proteger a privacidade dos meus usuários. Alguma idéia de como fazer isso bem?Meus snippets de código são geralmente do tutorial do desenvolvedor do Google.

EDITAR:

Eu não vejo como eu passaria o blob_key do armazenamento de dados para o seguinte método para recuperar a imagem:

from google.appengine.ext import blobstore
from google.appengine.ext.webapp import blobstore_handlers
class ServeHandler(blobstore_handlers.BlobstoreDownloadHandler):
  def get(self, resource):
    resource = str(urllib.unquote(resource))
    blob_info = blobstore.BlobInfo.get(resource)
    self.send_blob(blob_info)

O que tem dentroresource, de qualquer forma?

questionAnswers(1)

yourAnswerToTheQuestion