我有兩個應用程序,my_app
和my_endpoint_app
。我可以在我想要的URL中使用任何版本標籤訪問my_endpoint_app
,如果它與現有版本不匹配,它將自動路由到默認版本。在不存在的版本標籤上訪問Google雲端點
例子:因爲沒有josh
版本部署
https://josh-dot-my_endpoint_app.appspot.com/將與默認版本進行響應。
如果我嘗試使用Google Cloud Endpoint服務調用進行同樣操作,則會出現未找到錯誤。
例子:
不成功https://josh-dot-my_endpoint_app.appspot.com/_ah/api/myendpoint VS工作https://my_endpoint_app.appspot.com/_ah/api/myendpoint
我有幾個是通過雲端點相互通信谷歌的AppEngine應用。
在正常使用情況下,這是好的,因爲我事先知道該版本並避免這些錯誤。在我們的開發環境中,這個分崩離析。爲了支持功能分支和獨立測試,我們使用-V
開關appcfg.py
將代碼推送到appspot。
例子: appcfg.py -A my_app -V josh update .
現在我可以在https://josh-dot-my_app.appspot.com
訪問我的特性分支。爲了支持某些版本標籤hackery,我動態地計算了正確的端點應用,並撥打之類的電話,然後在那裏撥打我的服務電話。這由於動態版本標籤不存在而失敗。如果我用該名稱推送版本標籤,則按預期完成。
有沒有辦法讓雲端點在不存在的版本標籤主機名上回答?
情景,我想支持
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
版本新功能存在,應以新的功能版本的路線,使我們可以合併到主代碼分支之前隔離測試新代碼。這將是當前端點可以使用而不改變端點完成的內部API。 (性能改進等)
我注意到你可以將URL路由到這樣的模塊,但是我會失去同時運行API的兩個版本的能力。我需要的是如果沒有找到匹配的版本,請求轉到默認版本。 Web請求的行爲方式相同。 – 2014-08-28 00:19:28