我想将测试用户重定向到我的应用引擎应用的最新版本。我听说您可以使用网址latest-dot-project-id.appspot.com
访问最新版本,但这只是默认版本。
有关如何重定向到最新版本的任何想法,可能有网址version-dot-project-id.appspot.com
?
我知道我可以访问API以获取最新版本,但我也无法通过服务帐户从中获取数据。
答案 0 :(得分:2)
你应能够使用通用最新关键字(而不是确定该模块的哪个特定版本是最新版本)才能到达您需要的任何模块:
latest-dot-<modulename>-dot-<appname>.appspot.com
。
至少在python中它起作用......
在latest-dot-project-id.appspot.com
构造中,您没有指定模块名称,这可能是您只能点击默认模块的原因。
答案 1 :(得分:1)
AFAIK,应用程序无法以编程方式访问可用版本,因此可以了解最新的&#34;最新的&#34;版本将要求您提供的是保留名称。 test
怎么样?使用version: test
上传要测试的版本,让测试人员点击它。然后,当您想要使用经过测试的版本时,请使用&#34; real&#34;再次上传它。版本,然后使其成为默认值。假设你没有改变任何东西,第二次上传应该很快。
FWIW,许多人使用完全独立的应用程序名称作为测试版本,以便测试人员不会修改生产数据。
答案 2 :(得分:1)
如果测试用户不是主动必须返回反馈的预定义组,并且需要/期望的是在监视日志等的同时缓慢推出一段时间内的功能,则可以利用{{3功能。这可以在App Engine's traffic splitting
中的应用引擎的项目页面的版本页面上找到可以根据cookie或IP地址拆分流量。其中任何一个都有一些可以很容易解决的怪癖。
您必须选择是按IP地址还是HTTP Cookie拆分流量。设置IP地址分割更容易,但cookie拆分更精确。
有关流量分割的更多信息cloud developer console。
答案 3 :(得分:0)
结束使用Google App Engine Admin API获取最新版本。
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"https://appengine.googleapis.com/v1beta4/apps/-----/modules/default/versions");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$headers = array();
$headers[] = 'Authorization: Bearer '.json_decode($client->getAccessToken())->access_token;
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$versions = json_decode(curl_exec ($ch))->versions;
curl_close ($ch);
$newest_version = "0";
foreach($versions as $version){
if(str_replace("-", "", $version->id) > str_replace("-", "", $newest_version)){
$newest_version = $version->id;
}
}