尝试在我的Python 2.7 AppEngine应用程序中设置remote_api存根,将数据存储访问与我的localhost调试器结合使用(使用实际数据测试我的应用程序)。现在,我已经按照this AppEngine Remote API article上的教程提出了这个代码(来自我们应用程序中的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 cannot access app dev~myapp's data
我相信这是我需要解决的错误。请注意,表示这是HRD应用程序的s~被正确报告为应用程序ID的一部分。我还包括了
builtins:
- remote_api: on
app.yaml中的指令。
我的问题是,为什么我会收到此错误?这是从remote_api文章中获取的字面上的示例代码。为了以防万一,我还尝试通过与AppEngine SDK捆绑在一起的remote_api_shell.py进行remote_api连接,并且能够连接到数据存储区,导入模型并执行数据库调用。我很难过为什么会失败。