Ошибка 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