views:

390

answers:

6

i've been assigned a project to create a filestorage service on google applet engine.but i am really doubtful wheather it's possible or not given the 30 sec limit to process the response and moreover its the bigtable is just a database system not a storage server .am i correct ?

A: 

This is definitely possible.

There are also some similar questions that have been answered. See Google for more implementations.

But in general, yes, the 30 second limit does complicate your task, but you can break your file up into chunks and store them each separately as text/blobs. App Engine's Remote API might do this for you automatically.

Chris S
A: 

Have in mind that you have 10MB per request restriction.

Ilian Iliev
Not for the blobstore API.
Nick Johnson
+4  A: 

You will want to look at the blobstore API

http://code.google.com/appengine/docs/java/blobstore/

It lets you upload files upto 50Mb in size and serve them directly, without going through BigTable. What I am doing is I have a script that takes in a file, creates the blobstore upload url, then post the file it received to that url and stores an entry in bigtable. The 30 second time limit only applies to processing time so the act of uploading a file does not count towards that.

Matt
that was quite helpful though i was looking at storing even more then 50 mb .
Bunny Rabbit
To my knowledge there is no way to store files larger then 50 MB, it might be possible to break the file up into 50Mb chucks and then store those in blobstore, and when requesting a file get the chunks and put them back together but I am not sure how practical that is.
Matt
+1  A: 

Use and look if you like blobstore in action I maintain

LarsOn
A: 

Have a look at this project for some inspiration:

http://django-filetransfers.appspot.com/

the sourcecode is available if you follow a link on the page.

Espen
A: 

If all you need is storage, a better choice than App Engine is the newly beta-d Google Storage:

Google Storage for Developers is a RESTful service for storing and accessing your data on Google's infrastructure. The service combines the performance and scalability of Google's cloud with advanced security and sharing capabilities. Highlights include:

Fast, scalable, highly available object store

All data replicated to multiple U.S. data centers

Read-your-writes data consistency

Objects of hundreds of gigabytes in size per request with range-get support

Domain-scoped bucket namespace

Easy, flexible authentication and sharing

Key-based authentication

Authenticated downloads from a web browser

Individual- and group-level access controls

Chris Bunch