2014-08-27 2 views
1

У меня есть два приложения: my_app и my_endpoint_app. Я могу получить доступ к my_endpoint_app с любой меткой версии в URL-адресе, который я хочу, и автоматически перейдет к версии по умолчанию, если она не соответствует существующей версии.Доступ к облачным оконечным устройствам Google на несуществующей метке версии

Пример:

https://josh-dot-my_endpoint_app.appspot.com/ ответит версии по умолчанию, так как нет josh версии развертывается.

Если я попытаюсь сделать то же самое с вызовом службы Google Cloud Endpoint, я получаю ошибку Not Found.

Пример:

Неудачный https://josh-dot-my_endpoint_app.appspot.com/_ah/api/myendpoint против рабочего https://my_endpoint_app.appspot.com/_ah/api/myendpoint

У меня есть несколько приложений AppEngine Google, которые взаимодействуют друг с другом через облако Endpoints.

При нормальном использовании это нормально, потому что я знаю версию заранее и избегаю этих ошибок. В нашей среде разработки это разваливается. Чтобы поддерживать ветви функций и тестирование в изоляции, мы подталкиваем наш код до appspot, используя переключатель -Vappcfg.py.

Пример: appcfg.py -A my_app -V josh update .

Теперь я могу получить доступ к функции филиала в https://josh-dot-my_app.appspot.com. Чтобы поддерживать хакеры с наименованием версии, я динамически вычисляю приложение правой конечной точки, чтобы позвонить с чем-то вроде , а затем позвоните туда. Это не удается из-за того, что ярлык динамической версии не существует. Если я нажму метку версии с этим именем, она будет завершена, как ожидалось.

Есть ли способ получить конечные точки Cloud для ответа на несуществующие имена названий версий?

Сценарии, которые я хочу, чтобы поддержать

  • https://my_endpoint_app.appspot.com/_ah/api/myendpoint

    Главный URL приложения, маршруты по умолчанию версия

  • https://josh-dot-my_endpoint_app.appspot.com/_ah/api/myendpoint

    версии не существует, следует маршрут версия по умолчанию

  • https://new-feature-dot-my_endpoint_app.appspot.com/_ah/api/myendpoint

    версия новая особенность существует, должны путь к новой версии особенности, так что мы можем протестировать новый код в изоляции до слияния в основной коде филиал. Это будет внутренний apis, который могут использовать текущие конечные точки, не изменяя то, что делает конечная точка. (повышение производительности и т.д.)

ответ

1

Вы можете перенаправить любой Url к любому модулю/версии через dispatch file.

+0

Я заметил, что вы можете маршрутизировать URL-адреса в такие модули, но тогда я потеряю возможность одновременного использования двух версий API. Мне нужно, чтобы запросы переходили к версии по умолчанию, если подходящая версия не найдена. Точно так же ведут себя веб-запросы. –

Смежные вопросы