> For a processing API call > like an image API call, there should be no dependence on BigTable or > any sort of clustering
It has been said that the image API is actually executed on an image processing cluster, not the application servers. http://code.google.com/appengine/docs/python/images/overview.html mentions an "Images service" in several locations. On Apr 18, 10:12 pm, Anuraag Agrawal <[email protected]> wrote: > Indeed the entire API is limited to 1MB, but the point of discussion > I'd like to make is that for data-related API calls like the datastore > and memcache, it's easy to come up with hardware/implementation > constraints that would warrant such a limit, and there are usually > relatively simple ways to work around them. For a processing API call > like an image API call, there should be no dependence on BigTable or > any sort of clustering, so the limit seems a little arbitrary, > especially in light of the request limit increase to 10MB which does > not seem to have any value for image requests. I'm honestly hoping > it's just an oversight that will be fixed in the short term. > > In the interim, using an external image API seems to be the best > solution indeed. Right now, I'm looking into the Imageshack API which > seems to offer enough functionality, but can you go into how you use > the Picasa API? It seems to be very well suited to importing a user's > photos, but to upload and manage photos as a website would require > using ClientLogin, and since ClientLogin uses a captcha, it doesn't > work well on app engine. Or at least, that's what's written in the > App Engine Data API docs. > > Thanks. > > On Apr 18, 10:55 pm, Tim Hoffman <[email protected]> wrote: > > > > > Why don't you stick the images in Picasa and just manage them through > > app engine ? > > > Thats what I am doing > > > T > > > On Apr 18, 4:28 pm, Anuraag Agrawal <[email protected]> wrote: > > > > When App Engine raised its request size limit from 1MB to 10MB, it > > > seemed like we would finally be able to use it for an image sharing > > > website as while reasonably sized digital camera images over 1MB are > > > very likely, it'd take an extremely professional camera image to break > > > the 10MB limit, which seemed like an acceptable limit to place on a > > > user's file uploads since those users are probably knowledgeable > > > enough to resize the images themselves anyways. API calls were still > > > limited to 1MB, and as the examples listed on the blog post were > > > memcache and datastore, it seemed to make sense since App Engine is > > > probably still designed to place a 1MB limit on its datastore > > > entries. This seemed like it'd be ok since it should be possible to > > > use the images API to resize any input images to less than 1MB before > > > storing them in the datastore, completely acceptable for our task. > > > However, after trying this and looking into some server errors, it > > > seems the images API is also limited to 1MB input files (which fits > > > with the 1MB limit on API calls, the fact just didn't register at > > > first). At least, that's how I'm interpreting the RequestTooLargeError > > > (The request to API call images.Transform() was too large) I get when > > > submitting a 1.5MB file. > > > > Is the limit on the images API by design/constraint? I imagine image > > > API calls aren't split across computers in a cluster or anything and > > > are run in place, with possibly some temp memory that's cleared > > > immediately, which makes having a limit smaller than the request size > > > seem a little strange to me. A 1MB limit on image files makes it hard > > > to support user submitted image uploads in a practical setting. I > > > know it's possible to split the image over datastore entries just to > > > store them, but we also need to be able to resize them to generate > > > thumbnails, etc. > > > > And if anyone's come up with a workaround splitting the input file > > > into parts to resize in parts, it'd be nice to hear. While PNG uses > > > DEFLATE and might not work, JPEG as far as I know cosine transforms > > > blocks independently so it seems like it could be possible. Though > > > it'd probably increase the load on the servers more than just having a > > > > >1MB API call limit. > > > > Thanks.- Hide quoted text - > > - Show quoted text - --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google App Engine" 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?hl=en -~----------~----~----~----~------~----~------~--~---
