要使用原始 dev_appserver 在本地访问远程数据存储,我将设置 --default_partition=s 如此处所述
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此处
警告!不要从环境变量中获取 App ID。开发服务器模拟生产 App Engine 服务。它执行此操作的一种方法是将字符串 (dev~) 预置到 APPLICATION_ID 环境变量中,这类似于使用 High Replication Datastore 的应用程序在生产中预置的字符串。您可以使用 --default_partition 标志修改此行为,选择“”值以匹配生产中的主从选项。Google 建议始终使用 get_application_id() 方法获取应用程序 ID,并且永远不要使用 APPLICATION_ID 环境变量。