要使用原始dev_appserver在本地访问远程数据存储,我将设置--default_partition = s,如here所述
在2013年3月,Google将devappserver2设置为默认的开发服务器,它不支持--default_partition导致原始内容令人恐惧:
BadRequestError: app s~appname cannot access app dev~appname's data
看来前几个请求已正确地与
os.environ["APPLICATION_ID"] == 's~appname'
然后,后续请求导致对/_ah/warmup的调用,然后
os.environ["APPLICATION_ID"] == 'dev~appname'
这些文档专门提到了相关主题,但似乎适合dev_appserver here
最佳答案
您可以执行以下肮脏的小技巧:
from google.appengine.datastore.entity_pb import Reference
DEV = os.environ['SERVER_SOFTWARE'].startswith('Development')
def myApp(*args):
return os.environ['APPLICATION_ID'].replace("dev~", "s~")
if DEV:
Reference.app = myApp