如何通过版本和别名实现绑定APIG触发器的HTTP函数的灰度升级?
- 基于latest创建版本V1、V2,创建别名alias绑定对应版本V1,权重100%,为alias创建APIG触发器。
图1 发布新版本V1和V2
图2 创建alias别名并绑定V1版本
图3 在alias下创建触发器
函数支持别名和版本分别创建APIG触发器,APIG触发器名称默认为API_{函数名}{版本名},请求Path默认是/{函数名}-{版本名} 。
同一个APIG触发器(URL Path)不能同时存在于别名和它的对应版本下。比如V1版本和alias别名存在绑定关系,在V1创建触发器,默认名称为API_testapigV1,再在alias别名下创建触发器,默认名称也为API_testapigV1,且调用URL相同。此时返回V1版本下的触发器列表查看,发现已无API_testapigV1触发器。
- 回到latest版本别名界面,编辑alias,灰度版本选择V2,调整权重,实现V1到V2的灰度升级。
权重用于分派接收到的流量给后端版本,具体数值视业务情况自定义。
图4 编辑别名
- 创建V3版本,编辑alias,对应版本设置为V2,灰度版本选择V3,调整权重,实现V2到V3的灰度升级。
图5 创建V3版本
图6 编辑别名
不能基于latest重复发布相同版本,必须修改配置或代码等信息后发布新版本。
不能删除绑定了触发器的别名。