函数工作流 FUNCTIONGRAPH-如何通过版本和别名实现绑定APIG触发器的HTTP函数的灰度升级?

时间:2024-11-11 18:22:08

如何通过版本和别名实现绑定APIG触发器的HTTP函数的灰度升级?

  1. 基于latest创建版本V1、V2,创建别名alias绑定对应版本V1,权重100%,为alias创建APIG触发器。
    图1 发布新版本V2和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触发器。

  1. 回到latest版本别名界面,编辑alias,灰度版本选择V2,调整权重,实现V1到V2的灰度升级。

    权重用于分派接收到的流量给后端版本,具体数值视业务情况自定义。

    图4 编辑别名

  2. 创建V3版本,编辑alias,对应版本设置为V2,灰度版本选择V3,调整权重,实现V2到V3的灰度升级。
    图5 创建V3版本
    图6 编辑别名

    不能基于latest重复发布相同版本,必须修改配置或代码等信息后发布新版本。

    不能删除绑定了触发器的别名。

support.huaweicloud.com/functiongraph_faq/functiongraph_03_0863.html