更新时间:2024-05-09 GMT+08:00

创建函数版本别名

功能介绍

创建函数灰度版本别名。

URI

POST /v2/{project_id}/fgs/functions/{function_urn}/aliases

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

租户项目 ID,获取方式请参见获取项目ID

function_urn

String

函数的URN,详细解释见FunctionGraph函数模型的描述。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

Content-Type

String

消息体的类型(格式)

表3 请求Body参数

参数

是否必选

参数类型

描述

name

String

别名名称。

可包含字母、数字、下划线和中划线,以大/小写字母开头,以字母或数字结尾,长度不超过64个字符。

最小长度:1

最大长度:64

version

String

别名对应的版本名称。

description

String

别名描述信息。

additional_version_weights

Map<String,Integer>

百分比灰度配置信息

additional_version_strategy

Map<String,VersionStrategy>

指定规则灰度策略信息

表4 VersionStrategy

参数

是否必选

参数类型

描述

rules

Array of VersionStrategyRules objects

规则列表

combine_type

String

所有规则聚合方式。and:所有规则都满足,or:满足其中一个

枚举值:

  • and
  • or
表5 VersionStrategyRules

参数

是否必选

参数类型

描述

rule_type

String

参数类型。

枚举值:

  • Header

param

String

规则参数名, 只支持大小写字母,数字,下划线,中划线。

op

String

规则匹配操作符,目前仅需支持 = 或者in。

枚举值:

  • in
  • =

value

String

规则值,如果op为in,则为逗号分隔的多值字符串

响应参数

状态码: 200

表6 响应Body参数

参数

参数类型

描述

name

String

要获取的别名名称。

version

String

别名对应的版本名称。

description

String

别名描述信息。

last_modified

String

别名最后修改时间。

alias_urn

String

版本别名唯一标识。

additional_version_weights

Map<String,Integer>

百分比灰度配置信息

additional_version_strategy

Map<String,VersionStrategy>

指定规则灰度策略信息

表7 VersionStrategy

参数

参数类型

描述

rules

Array of VersionStrategyRules objects

规则列表

combine_type

String

所有规则聚合方式。and:所有规则都满足,or:满足其中一个

枚举值:

  • and
  • or
表8 VersionStrategyRules

参数

参数类型

描述

rule_type

String

参数类型。

枚举值:

  • Header

param

String

规则参数名, 只支持大小写字母,数字,下划线,中划线。

op

String

规则匹配操作符,目前仅需支持 = 或者in。

枚举值:

  • in
  • =

value

String

规则值,如果op为in,则为逗号分隔的多值字符串

状态码: 400

表9 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误信息

状态码: 401

表10 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误信息

状态码: 403

表11 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误信息

状态码: 404

表12 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误信息

状态码: 500

表13 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误信息

请求示例

  • 为函数的v1版本创建别名a1。
    POST https://{Endpoint}/v2/{project_id}/fgs/functions/{function_urn}/aliases
    
    {
      "name" : "a1",
      "version" : "v1"
    }
  • 为函数的v1版本创建别名a1,且开启灰度版本,将v2版本设置为50%随机灰度。
    POST https://{Endpoint}/v2/{project_id}/fgs/functions/{function_urn}/aliases
    
    {
      "name" : "a1",
      "version" : "v1",
      "additional_version_weights" : {
        "v2" : 50
      }
    }
  • 为函数的v1版本创建别名a1,且开启灰度版本,将v2版本设置为指定规则灰度。
    POST https://{Endpoint}/v2/{project_id}/fgs/functions/{function_urn}/aliases
    
    {
      "name" : "a1",
      "version" : "v1",
      "additional_version_strategy" : {
        "v2" : {
          "combine_type" : "and",
          "rules" : [ {
            "rule_type" : "Header",
            "param" : "version",
            "op" : "=",
            "value" : "v1"
          } ]
        }
      }
    }

响应示例

状态码: 200

ok

{
  "name" : "a1",
  "version" : "latest",
  "description" : "",
  "last_modified" : "2019-10-31 11:37:58",
  "alias_urn" : "urn:fss:{region}:46b6f338fc3445b8846c71dfb1fbxxxx:function:default:xxxxx:!a1"
}

状态码: 404

Not Found 找不到资源。

{
  "error_code" : "FSS.1051",
  "error_msg" : "Not found the function"
}

状态码

状态码

描述

200

ok

400

Bad Request 请求错误。

401

Unauthorized 鉴权失败。

403

Forbidden 没有操作权限。

404

Not Found 找不到资源。

500

Internal Server Error 服务内部错误。

错误码

请参见错误码