GAE SDK 1.3.6 版发布
2010 8 18 12:10 PM 1660次查看
分类:Google App Engine 标签:Google App Engine
自定义错误页面是在app.yaml里定义,这里有个例子:
error_handlers:
- file: default_error.html
- error_code: over_quota
file: over_quota.html
error_code有3种:- over_quota:超出配额
- dos_api_denial:客户被DoS保护配置禁止访问
- timeout:响应超时
而且已有Multitenancy API文档,这是一个有关namespace的特性,可以帮助你的应用为多个客户(client)服务。
注意这里的客户是区别于用户(user)的,简单来说你的公司同时为A、B、C这3家公司提供服务,那么A、B、C就是你的客户;而无论任何人,只要有权访问你的app,他就是你的用户(可能是A、B、C的任何一个员工,也可能是一个随机的访客)。
因此数据库的多客户特性就很好理解了,就是把不同公司的客户数据区别开来,免得弄混了或者彼此之间泄露。
上述文字文档里并没提到,不过有SAP经验的应该很容易理解。
当然,你想做到每个用户的数据分离也是可行的,这个只是分离粒度不同而已。
这个新的api叫namespace manager,模块是google.appengine.api.namespace_manager,这里有个例子。
这个机制主要是基于Google Apps domain,根据不同的域名来区分客户,并在处理request时设置好namespace(推荐在appengine_config.py里定义一个namespace_manager_default_namespace_for_request()函数),这样数据库就会自动做数据分离(其实就是在Key里设置了namespace参数),实在是非常方便。
目前有3个API支持namespace,它们是Memcache、Datastore和Task queue,注意不包括Blobstore。
此外,Memcache和Datastore的Key是有namespace参数的,如果你手动设置这个参数,就会忽略这个API的设置。
0条评论 你不来一发么↓