Модули GAE и конечные точки Google

Я переношу приложение GAE в модули и имею проблемы с маршрутизацией для моего модуля api на основе конечных точек Google.

В принципе, все мои запросы API направляются к модулю по умолчанию, в то время как другая маршрутизация работает хорошо

Моя структура папок

 - /gae -- dispatch.yaml -- www/ ---- www.yaml ---- [www module files] -- foo/ ---- foo.yaml ---- [foo module files] -- api/api.yaml ---- api.yaml ---- [foo module files] 

dispatch.yaml

 application: testapp dispatch: - url: "testapp.appspot.com/" module: default - url: "*/_ah/spi/*" module: api - url: "*/_ah/api/*" module: api - url: "*/foo/*" module: foomodule 

Я развертываю с

 cd gae appcfg.py update www/www.yaml upload/upload.yaml api/api.yaml appcfg.py update_dispatch . 

Я могу увидеть 3 экземпляра (по одному на модуль).

Но потом:

  • такие запросы, как http://testapp.appspot.com/xxx , правильно перенаправляются на модуль / экземпляр по умолчанию
  • /foo/xxx ones обрабатываются foomodule
  • Запросы API ( /_ah/spi/xxx ) поступают в модуль по умолчанию с 404.
  • Как ни странно, при запуске приложения я могу увидеть 200 OK для /_ah/spi/BackendService.logMessages в журналах экземпляра api .

Из журналов я также вижу, что:

  • Предыдущий logMessage 200 OK происходит от alpha-dot-api-dot-testapp.appspot.com
  • 404 для модуля api – от testapp.appspot.com
  • Тем не менее, 200 OK для нестандартных модулей также относятся к `testapp.appspot.com`

Есть ли что-то, что я делаю неправильно? Любая специальная маршрутизация, необходимая для конечных точек Google, когда они используются в качестве модулей?

One Solution collect form web for “Модули GAE и конечные точки Google”

Поскольку я вижу, что API является модулем по умолчанию, в документах говорится, что «модуль по умолчанию должен быть загружен первым», также вам нужно поместить параметр «module: default» в файл yaml или вообще не включить Try

 appcfg.py update api/api.yaml www/www.yaml upload/upload.yaml #api first appcfg.py update_dispatch 
  • Определить параметр запроса в app.yaml в приложении Google Appengine
  • Ошибка памяти GAE при записи в облачное хранилище, могу ли я передать поток?
  • Создание файлов Zip и сохранение в GAE BlobStore
  • Объединить 2 изображения с помощью Google App Engine и python?
  • Как мне настроить процесс разработки TDD с помощью Google App Engine?
  • Каковы следующие шаги для перехода от appengine к полному django?
  • Как я могу использовать bulkuploader для заполнения класса с помощью db.SelfReferenceProperty?
  • Google App Engine: UnicodeDecodeError: кодек ascii не может декодировать байт 0xe2 в позиции 48: порядковый номер не в диапазоне (128)
  • Python - лучший язык программирования в мире.