Hi Julio, I guess I know you from Brazil, but I'll write in English. Here is what we do for a production Java app:
1) Using flex Json, I added some data fixtures in Json to an app resource foder, and created a small servlet that I called SetupServlet. This servlet does your trick on checking resultset sizes and populates the database if required, and is only called by an app administrator. Very usefull! You can combine this with Robert suggestion for an upload-based setup servlet, that load the file from Blobstore, for example. 2) To import a really large dataset, like migrating it from one server to another, the python remote_api is a great (but slow) tool, because you can do some computation to translate a legacy app database to your new app-engine optimized version, all on the fly and without the requirement of a new build-deploy clicle. But make sure to call db.allocate_id_rage() or similar before putting the app alive. I forgot it, and this will cause a lot of problems ;). As Robert suggested, bulkloader does most of the job for you, and you just need to write some yaml files to map you models fields and you can import form a csv file. This is a nice aproach since you can change your data remotely, but it will consume your bandwidth quota too. Regarding your concern about a DOS atack, all requests will be served and loged. I tryed on my live app (yes, I'm a bit crazy) and the ammount of instances growth from 10~14 to 72 in a few seconds to serve +1000 simultaneous requests. I also found that my logic was not optimized and that helped me a bit! Anyway, that is just all what AppEngine is about: scale as you need to support a big access when your app is featured on Yahoo home page! What you can do to avoid abuse is monitor your top 10 access and optionally blacklist what you fell like a DOS. You can do an appcfg.sh upload_blacklist just to make your app blacklist an ip address imedieatly, but know what is a DOS, currently, is up to you. You may whant to avoid abuse with some tokens, anyway. Hope it helps! Best Regards, -- Ronoaldo Pereira -- 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.
