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.


Reply via email to