我在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"
https://myproject.appspot.com/v3 - &gt;我的myproject
我知道我可以通过以下方式部署自定义版本:myproject
。但是,如何修复此路由?显然,不同的版本获得了各自的URL:s如下所示:https://cloud.google.com/appengine/docs/standard/go/how-requests-are-routed。模式为myproject
。这意味着我会gcloud app deploy --version=v3
和https://[VERSION_ID]-dot-[MY_PROJECT_ID].appspot.com
。
那么,我该如何进行路由? AFAIK我无法将其添加到https://v2-dot-myproject.appspot.com
。在那里,我只能路由到服务而不是版本或确切的URL。
答案 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/v2
和https://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