尝试在我的 Python 2.7 AppEngine 应用程序中设置 remote_api 存根,以结合我的本地主机调试器使用数据存储访问(使用真实数据测试我的应用程序)。现在,我已经按照这篇 AppEngine Remote API 文章中的教程并提出了这段代码(来自我们应用程序中的 REST 处理程序):
from google.appengine.ext.remote_api import remote_api_stub
from model import MyExpandoObject
# This returns my credentials
def auth_func():
return ("me@gmail.com", "mypassword")
# TODO This too
def get(w_self):
# Connect remote api in identical way to example docs:
remote_api_stub.ConfigureRemoteApi(None, '/_ah/remote_api', auth_func,'bsl-dm-hrd.appspot.com')
# This calls the database (breakpoint here)
t_entity = MyExpandoObject.get_by_key_name('akey')
现在,当我执行代码时,存根的配置通过了。然后,在调用数据库时,我在调试器中收到此错误:
BadRequestError: app s~myapp 无法访问 app dev~myapp 的数据
我相信这是我需要修复的错误。请注意,表示这是 HRD 应用程序的 s~ 被正确报告为应用程序 ID 的一部分。我还包括了
builtins:
- remote_api: on
app.yaml 中的指令。
我的问题是,为什么我会收到这个错误?这实际上是从 remote_api 文章中获取的示例代码。以防万一,我还尝试通过与 AppEngine SDK 捆绑的 remote_api_shell.py 进行 remote_api 连接,并且能够连接到数据存储、导入模型和执行数据库调用。我很困惑为什么这会失败。