2011 7 22 11:36 AM 1816 次查看
分类:Google App Engine 标签:Google App Engine
今早起来发现GAE SDK 1.5.2版发布了,不过工作太忙就无暇顾及了,于是现在补上更新列表:
- 可以在管理员控制台的Application Settings页面里设置最大空闲实例数和最小等待时间。
- 索引中有重复字段的不会再报索引爆炸的警告。
- SDK支持并行的数据库事务。
- Datastore的stats API支持按namespace查询。
- 管理员控制台的Task Queues页面可以显示请求头、过去的运行信息和任务的payload。
- Pull queue可以用modify_task_lease()来修改lease(租期和任务数)。
- Pull Task的最大尺寸增加到1MB。
- 可用appcfg.py的"backend configure"指令来修改backend instances数目,而无需先停止instances。
- Mail API可设置References和In-Reply-To头。
- SDK的APPLICATION_ID环境变量将含dev~前缀。获取app id的推荐方式是用appidentity.get_application_id()。可以使用--default_partition参数来修改这个前缀(后面会附加一个“~”符号)。
- Deferred API的defer()可接收_target参数,用于指定应用的version或backend。
- db.Model增加to_dict()实例方法。
- Images API增加get_original_metadata()方法来获取图像的EXIF信息。
- db.py增加@transactional装饰器,用于标注一个函数用于执行事务。
此外,Go SDK的进展很慢,看上去还是个玩具…
2011 6 21 09:09 PM 2702 次查看
分类:Google App Engine 标签:Google App Engine, Python
前些日子有人问Doodle是否支持Windows Live Writer,我只是回答了不支持而已。原因很简单,我的Windows XP很奇怪,几次装Live Writer都失败,对微软已经绝望了。
不过现在已经转移到Mac OS X上了,装软件没这么奇葩的兼容性问题,于是就研究起weblog publishing API来。
博客发布API大致有2类:一类是基于XML-RPC服务的,包括Blogger API、MetaWeblog API、MovableType API和WordPress API等;另一类则是Atom Publishing Protocol。
后者虽然技术上比前者强大,但较为复杂(例如认证是基于HTTP的认证机制),而且由于出现得较晚,支持它的也比较少。当然,对我来说更重要的是文档很难找,因为这个协议并不只用于blog,一些细节上的东西就不知道怎么搜索了。
于是比较了1天后,还是选择了XML-RPC。简单来说,它就是用XML封装方法名和各个参数,POST给XML-RPC服务器,再由服务器返回XML封装的方法运行结果。至于各种API,实际上只是方法和参数的差异,原理都是一致的。
下面举个提供加法的XML-RPC例子。
2011 6 21 11:44 AM 2030 次查看
分类:Google App Engine 标签:Google App Engine
前几天GAE SDK 1.5.0 Prerelease版发布了,由于新特性没文档,我也就没介绍了。这几天部署应用时老提示有新SDK,不过就是没放出下载。而今天,1.5.1正式版终于发布了,更新如下:
- 外部请求将带上X-AppEngine-Country头,基于用户的IP,以ISO-3166-1 alpha-2国家码来标明的访问者的国家。CGI环境下可用os.environ['HTTP_X_APPENGINE_COUNTRY']获取,我自己测试时可以拿到'CN',不过使用代理和反向代理的就只能拿到代理服务器所在的国家了。
- Channel API可以检测用户状态。需要在app.yaml的inbound_services里增加xmpp_presence,详情可见User Presence文档。
- Images API支持WebP格式。(本地是用PIL,所以不支持)
- 本地开发服务器新增--high_replication参数,模拟High Replication Datastore的行为(查询实体时,最近改写的实体可能不会返回)。
- 管理页面的后台记录可以选择时区了。(以前为PST,还得考虑夏时令的问题。注意没有北京时间,而上海时间不会显示最近6分钟的请求,所以建议设为香港时间。)
- Python SDK增加ProtoRPC API。这个API还是实验性质的,我只是粗略看了下,大致是用于构建基于HTTP的RPC服务的。简单来说,按照它预定义的格式来进行请求,再返回一个预定义格式的响应。感觉没多大用处,因为自己实现JSON或XML格式的RPC服务也不难。
- 增加app_identity API,可用于获取应用id和默认版本的域名(例如my-app.appspot.com);此外还在请求其他服务时,能对请求进行认证(也就是签名啦)。
2011 5 11 03:49 AM 3837 次查看
分类:Google App Engine 标签:Go, Google App Engine
2011 5 4 12:00 PM 1917 次查看
分类:Google App Engine 标签:Google App Engine
今天凌晨,GAE SDK 1.5.0 Prerelease版发布了。改动很多,但是由于没文档,不少东西我也不清楚,所以只翻译一些我感兴趣的:
- 任务队列的参数大小增大。(超过后只能使用数据库来保存参数,所以这个改动很有意义。)
- HTTP请求和响应大小增大为32MB。(做代理更方便了。)
- 创建新应用时,High Replication Datastore将作为缺省设置,以取代Master/Slave Datastore。
- 任务队列的执行速率增大到500/s。(貌似一般应用也有500QPS的限制。)
- db.py新增异步操作:get_async()、put_async()、delete_async()和allocate_ids_async(),调用函数返回值的get_result会阻塞直到拿到数据。
其他的就等正式版发布再翻译吧~
2011 3 31 03:00 PM 2231 次查看
分类:Google App Engine 标签:Google App Engine
2011 3 22 12:06 PM 1784 次查看
分类:Google App Engine 标签:Google App Engine
今早Google App Engine SDK又发布了1.4.3 Prerelease版,不过感觉没有什么比较给力的更新:
2011 2 11 11:35 AM 1704 次查看
分类:Google App Engine 标签:Google App Engine
刚发现GAE SDK 1.4.2版已经提供下载了,但官方目前还未发布公告和更新说明。
应该和前几天发布的prerelease版本差不多,稍后出公告了我再翻译吧。
2011 1 8 06:12 PM 2345 次查看
分类:Google App Engine 标签:Google App Engine, Python
今天Guido van Rossum(Python的作者)公布了一个新的App Engine datastore API:Datastore Plus。
这个API采用全新的设计,突出了异步执行这个特点,具体介绍可以参考文档。目前还没有全部完成(包括设计),因此接口仍然会修改,有需求的可以尽早向Guido提出。
2011 1 6 12:24 PM 8684 次查看
分类:Google App Engine 标签:Google App Engine
今天Google App Engine团队公布了High Replication Datastore这个新的特性。
« 看看还有什么好玩意