GAE的blobstore初步体验


GAE的blobstore初步体验

Published on Tue 02 Feb 2010 06:02 ( 1 month, 2 weeks ago)
Python Google

尝试了一下GAE的blobstore,这个还是试验状态下的GAE新特性。

Blobstore的工作方式有些和想象的不一样,基本步骤如下:

1. 首先调用create_upload_url(url), 返回一个url, 这个url是临时的,并且只能用一次。 参数url是在这个upload完成后被redirect的url.

我测试产生的一个url样子是这样的: /_ah/upload/agtjb29rbW9tLWFwcHIbCxIVX19CbG9iVXBsb2FkU2Vzc2lvbl9fGAEM

2. 向这个产生出来的url POST数据

3. 完成后GAE返回一个302 redirect, 转向到调用create_upload_url的参数的url.

4. 这以后前面生成的临时url就失效了。被转向的url有刚刚 保存下来的blob的key.

Upload到server上的blob在开发环境下表现为一个叫做__blobinfo__的kind, 其中包含upload的数据,给出的文件名等。

---

目前看起来这个还非常初级阶段,除了upload的数据尺寸限制得以了突破外,其他并没有太大的优势。 blob一旦upload后,除了获取、删除外不能进行其他操作。Image()可以直接从blob_key来创建,但是操作后的图片如果要保存进去似乎没有办法,只能自己再post一个回去。

这和过去支持的方式来比我觉得几乎没有什么价值,首先在数据保存入datastore前没法做任何预处理,其次后期处理数据后不能直接存回去。此外create_upload_url()每次产生临时url也是有问题的,在某些场合下,比如需要批量upload图片,就非常不便。

---

希望google能尽快改进,拿出个能和Amazon S3至少有可比性的东西来,目前这个状态,还不如放宽些数据尺寸限制让应用自己来做呢。 当然google这种方式也许考虑到用专门的服务器组来处理upload,这样可以获得更好的性能和scalability. 其实我需要的不多,只要有个类似Amazon S3的基本功能就ok了。

现在这个阶段,这个blobstore基本还没有什么实用价值,估计google也会把这个给彻底改掉,所有没有什么价值继续考虑即使是试验性的支持了。


Related posts:


Search related in web:

Custom Search

RSS Feed

One click subscribe this blog in your google reader!

Be social!


Want to say something here? please sign in



Blog posts link to this page
What are friends tweeting?
Tags cloud
Monthly Archives