Users interested in better BlobstoreService, please "star" the issue so it gets more attention:
http://code.google.com/p/googleappengine/issues/detail?id=2536 Stuart On Fri, Dec 18, 2009 at 11:23 AM, Stuart Moffatt <[email protected]>wrote: > Added as feature request: > > http://code.google.com/p/googleappengine/issues/detail?id=2536 > > <http://code.google.com/p/googleappengine/issues/detail?id=2536>Stuart > > > On Fri, Dec 18, 2009 at 11:16 AM, Stuart Moffatt > <[email protected]>wrote: > >> App Engine team: >> >> Thanks for introducing BlobstoreService. It looked like it was going >> to solve a major impediment in an application I am prototyping, but I >> hit the wall (again) with only being able to regurgitate blobs during >> an http response, and not do anything useful with them in the cloud. >> >> I am using BlobstoreService to upload and store serialized spatial >> indexes. I want to be able to query them with point geometry, but once >> they are in the store there is no way for me to fetch them again >> within the context of my application. I can delete(key) in an >> application context, and serve(key) them directly back to the browser, >> but I cannot fetch them from the blobstore and operate on them, which >> is exactly what I need to do in my app. >> >> For a minute I was tricked into thinking that I could use the URL >> Fetch API from within my app, since serve(key) pumps out the data in >> response to a get call. But an internal URL Fetch is also limited to >> 1MB, and I receive the dreaded: "The response from url >> http://localhost:8888/serve/blob?blob-key=2rdXcmNBIZz3_mDE8msbXg was >> too large." (Of course, if I just hit that same URL in my browser, I >> download the data just fine -- its just within a programmatic App >> Engine context that I cannot fetch that URL.) >> >> "All I want for Christmas is my two front teeth." In this case, the >> teeth are either or both of the following hooks: >> >> 1) New URL Fetch API feature realizes that it is calling the >> BlobstoreService, and lets data > 1MB pass through. Since >> BlobstoreService is handling the response internally, add an extra >> header that URL Fetch understands to lift the size limit restriction. >> You could even restrict this to only allow URL Fetch of blobs in the >> same App Engine application. >> >> 2) Expose a BlobstoreService.get(BlobKey key) method so applications >> can fetch blobs after they are stored and do something useful with >> them -- like geospatial operations on spatial index blobs, or opening >> stored zip archives and processing contents with task queues. No >> worries if people go blob crazy -- billing is turned on, and real >> fancy querying needs to be done with basic datastore entities anyways. >> >> Please consider one or both of these options. Option #2 sounds like a >> no-brainer to me, because somewhere under the serve() hood you must be >> fetching the blob by key already. >> >> Stuart > > > -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
