url中的AppEngine版本

时间:2018-04-19 15:00:46

标签: google-app-engine routing yaml gcloud

我在https://myproject.appspot.com上有一个AppEngine项目,如果我想要打破向后兼容性,我希望能够提供library(stringi) stri_trans_totitle(str1) #[1] "This Is All Caps" 的不同版本。方便的方法是这样:

https://myproject.appspot.com/v2 - &gt;我的str1 <- "THIS IS ALL CAPS"

的第2版

https://myproject.appspot.com/v3 - &gt;我的myproject

的第3版

我知道我可以通过以下方式部署自定义版本:myproject。但是,如何修复此路由?显然,不同的版本获得了各自的URL:s如下所示:https://cloud.google.com/appengine/docs/standard/go/how-requests-are-routed。模式为myproject。这意味着我会gcloud app deploy --version=v3https://[VERSION_ID]-dot-[MY_PROJECT_ID].appspot.com

那么,我该如何进行路由? AFAIK我无法将其添加到https://v2-dot-myproject.appspot.com。在那里,我只能路由到服务而不是版本或确切的URL。

3 个答案:

答案 0 :(得分:1)

https://[VERSION_ID]-dot-[MY_PROJECT_ID].appspot.com格式是在GAE中管理版本的首选方式。这使您能够split traffic between versions,这对于金丝雀测试或a / b分割测试非常有用。

如果您真的对https://myproject.appspot.com/[version numbers]感兴趣,那么您可以使用同一版本中的https://myproject.appspot.com/v2https://myproject.appspot.com/v3路径推出一个版本的应用,但之后您就赢了能够通过GAE路由分割流量。

答案 1 :(得分:0)

您无需专门为获取此路由而执行任何操作,GAE会自动为您执行此操作。

只需按照您提到的方式进行部署,然后查看相应的网址。

答案 2 :(得分:0)

Google在此处进行了描述:how-requests-are-routed

页面说,可以通过将版本号添加到url来将请求路由到特定url,如下所示

https://[SERVICE_ID]-dot-[MY_PROJECT_ID].appspot.com

如果我有一个名为http://mycuteproject.appspot.com的项目,那么在阅读上一页后,我会认为http://20190705t200049.mycuteproject.appspot.com可以访问特定版本。但事实并非如此,网址应为https://20190705t200049-dot-mycuteproject.appspot.com