3

尝试在我的 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 连接,并且能够连接到数据存储、导入模型和执行数据库调用。我很困惑为什么这会失败。

4

1 回答 1

1

你有不匹配的 appid' 你似乎没有设置 appid - 你有 None 作为 ConfigureRemoteApi 的第一个参数,你可能需要设置 dev_server 的 --partition arg 以获得你想要的 appid,或者为 ConfigureRemoteApi 调用提供一个 appid

于 2012-09-18T23:05:59.853 回答