Ошибка BadRequestError в AppEngine для удаленного вызова заглушки

Попытка настроить заглушки remote_api в моем приложении Python 2.7 AppEngine, чтобы использовать доступ к хранилищу данных вместе с моим отладчиком localhost (протестировать мое приложение с использованием реальных данных). Теперь я следовал руководству по этой статье об API-интерфейсе AppEngine Remote и придумал этот код (из обработчика 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 не может получить доступ к данным приложения ~myapp

Я считаю, что это ошибка, которую мне нужно исправить. Обратите внимание, что сообщение о том, что это приложение HRD, правильно отображается как часть идентификатора приложения. Я также включил

builtins:
    - remote_api: on

директива в app.yaml.

У меня вопрос, почему я получаю эту ошибку? Это буквально пример кода, взятого из статьи remote_api. На всякий случай я также попытался подключиться к remote_api через remote_api_shell.py, поставляемый в комплекте с AppEngine SDK, и смог подключиться к хранилищу данных, импортировать модели и выполнять вызовы из базы данных. Я в тупик, почему это не удается.

1 ответ

Решение

Вы получили неправильно совпадающие приложения. Вы, кажется, не устанавливаете приложение - у вас нет None в качестве первого параметра для ConfigureRemoteApi, вам может потребоваться установить аргумент --partition сервера dev_server, чтобы получить нужный вам appid, или предоставить appid для вызова ConfigureRemoteApi

Другие вопросы по тегам