要使用原始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

07-24 09:35
查看更多