在不存在的版本标签上访问Google云端点

时间:2014-08-27 16:04:48

标签: python google-app-engine google-cloud-endpoints

我有两个应用my_appmy_endpoint_app。我可以使用我想要的URL中的任何版本标签访问my_endpoint_app,如果它与现有版本不匹配,它将自动路由到默认版本。

示例:

由于未部署josh版本,

https://josh-dot-my_endpoint_app.appspot.com/将使用默认版本进行回复。

如果我尝试对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

我有几个Google AppEngine应用程序通过Cloud Endpoints相互通信。

在正常使用情况下,这是可以的,因为我事先知道版本并避免这些错误。在我们的开发环境中,这分崩离析。为了支持功能分支和单独测试,我们使用-V的{​​{1}}开关将代码推送到appspot。

实施例: appcfg.py

现在我可以在appcfg.py -A my_app -V josh update .访问我的功能分支了。为了支持某些版本标签hackery,我动态计算正确的端点应用程序,使用https://josh-dot-my_app.appspot.com之类的东西进行调用,然后在那里进行服务调用。由于动态版本标签不存在,因此失败。如果我推送具有该名称的版本标签,则按预期完成。

有没有办法让Cloud Endpoints回答不存在的版本标签主机名?

我想支持的方案

1 个答案:

答案 0 :(得分:1)

您可以通过dispatch file将任何网址重新路由到任何模块/版本。