为Spring Cloud或Dubbo应用创建灰度规则。
接口说明
目前一个应用只能配置一条灰度规则。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
调试
授权信息
|
操作 |
访问级别 |
资源类型 |
条件关键字 |
关联操作 |
|
sae:CreateGreyTagRoute |
create |
*全部资源
|
无 | 无 |
请求语法
POST /pop/v1/sam/tagroute/greyTagRoute HTTP/1.1
请求参数
|
名称 |
类型 |
必填 |
描述 |
示例值 |
| AppId |
string |
是 |
应用 ID。 |
7802c49a-67bc-4167-8369-9a9c003c**** |
| Name |
string |
是 |
规则名称。支持以小写字母开头,以数字或小写字母结尾,仅可包含小写字母、中文字符、数字及短划线(-)。不超过 64 个字符。 |
dubbo-echo |
| Description |
string |
否 |
规则描述。不超过 64 个字符。 |
Canary Release - Regions |
| ScRules |
string |
否 |
为 Spring Cloud 应用创建的灰度规则。当您的应用为 Spring Cloud 框架时必填,且无需填写 DubboRules 参数。 |
[{"condition":"OR","items":[{"cond":"==","name":"grey","operator":"rawvalue","type":"param","value":"true"},{"cond":"==","name":"grey","operator":"rawvalue","type":"cookie","value":"true"},{"cond":"==","name":"grey","operator":"rawvalue","type":"header","value":"true"}],"path":"/post-echo/hi"}] |
| DubboRules |
string |
否 |
为 Dubbo 应用创建的灰度规则。当您的应用为 Dubbo 框架时必填,且无需填写 ScRules 参数。 |
[{"condition":"OR","group":"DUBBO","items":[{"cond":"==","expr":".key1","index":0,"operator":"rawvalue","value":"value1"},{"cond":"==","expr":".key2","index":0,"operator":"rawvalue","value":"value2"}],"methodName":"echo","serviceName":"com.alibaba.edas.boot.EchoService","version":"1.0.0"}] |
| AlbRules |
string |
否 |
为配置好 ALB 网关路由的应用创建的灰度规则。 |
[{"condition":"AND","items":[{"cond":"==","name":"grey","operator":"rawvalue","type":"sourceIp","value":"127.0.0.1"},{"cond":"==","name":"grey","operator":"rawvalue","type":"cookie","value":"true"},{"cond":"==","name":"grey","operator":"rawvalue","type":"header","value":"true"}],"path":"/post-echo/hi"}] |
ScRules 参数说明
| 参数名称 | 类型 | 示例 | 描述 |
| condition | String | OR | 灰度规则的条件模式,取值说明如下: - AND:表示与,即同时满足条件列表中的所有条件。 - OR:表示或,即满足条件列表中的任一条件。 |
| path | String | /path | Spring Cloud 应用灰度规则对应的路径。 |
| items | Array of items | 条件列表。 |
items 参数说明
| 参数名称 | 类型 | 示例 | 描述 |
| name | String | test | 参数名。 |
| cond | String | == | 比较操作符。可取值:>、<、>=、<=、==以及!=。 |
| type | String | cookie | 比较类型,取值说明如下: - param:表示 Parameter。 - cookie:表示 Cookie。 - header:表示 Header。 |
| value | String | test | 参数取值,根据 type 和 name 得到的值跟这个值进行比较。 |
| operator | String | rawvalue | 运算符,取值说明如下: - rawvalue:表示直接比较。 - list:表示白名单。 - mod:表示对 100 取模。 - deterministic_proportional_steaming_division:表示百分比。 |
DubboRules 参数说明
| 参数名称 | 类型 | 示例 | 描述 |
| condition | String | OR | 灰度规则的条件模式,取值说明如下: - AND:表示与,即同时满足条件列表中的所有条件。 - OR:表示或,即满足条件列表中的任一条件。 |
| methodName | String | echo | Dubbo 服务的方法名。 |
| serviceName | String | com.alibaba.edas.boot.EchoService | Dubbo 服务名称。 |
| version | String | 1.0.0 | Dubbo 服务版本。 |
| items | Array of items | 条件列表。 | |
| group | String | DUBBO | 灰度规则对应的 Dubbo 服务的分组。 |
items 参数说明
| 参数名称 | 类型 | 示例 | 描述 |
| index | Integer | 0 | 参数编号,0 表示第一个参数。 |
| expr | String | .name | 参数值获取表达式。取值说明如下: - 留空:表示直接取当前参数的值。 - .name:表示取参数的 name 属性,相当于 args0.getName()。 - .isEnabled() :表示取参数的 enabled 属性,相当于 args0.isEnabled()。 - [0]:表示当前参数应是一个数组,取数组的第一个值,相当于 args0[0],注意开始没有英文句点(.)。 - **.get(0) **:表示当前参数应是一个 List,取 List 的第一个值,相当于 args0.get(0)。 - .get("key"):表示当前参数是一个 Map,获取 key 对应的值,相当于 args0.get("key")。 |
| cond | String | == | 比较操作符。可取值:>、<、>=、<=、==以及!=。 |
| value | String | test | 参数取值,根据 expr 和 index 得到的值跟这个值进行比较。 |
| operator | String | rawvalue | 运算符,取值说明如下: - rawvalue:表示直接比较。 - list:表示白名单。 - mod:表示对 100 取模。 - deterministic_proportional_steaming_division:表示百分比。 |
返回参数
|
名称 |
类型 |
描述 |
示例值 |
|
object |
返回数据。 |
||
| RequestId |
string |
请求 ID。 |
9D29CBD0-45D3-410B-9826-52F86F90**** |
| Message |
string |
调用结果的附加信息。 |
success |
| TraceId |
string |
调用链 ID,用于精确查询调用信息。 |
0a98a02315955564772843261e**** |
| Data |
object |
灰度规则信息。 |
|
| GreyTagRouteId |
integer |
灰度规则 ID,全局唯一。 |
16 |
| ErrorCode |
string |
错误码。取值说明如下:
|
|
| Code |
string |
接口状态或 POP 错误码。取值说明如下:
|
200 |
| Success |
boolean |
查询变更单信息是否成功。取值说明如下:
|
true |
示例
正常返回示例
JSON格式
{
"RequestId": "9D29CBD0-45D3-410B-9826-52F86F90****",
"Message": "success",
"TraceId": "0a98a02315955564772843261e****",
"Data": {
"GreyTagRouteId": 16
},
"ErrorCode": "",
"Code": "200",
"Success": true
}
错误码
|
HTTP status code |
错误码 |
错误信息 |
描述 |
|---|---|---|---|
| 400 | InvalidParameter.NotEmpty | You must specify the parameter %s. | 不合法的参数:%s不能为空。 |
| 400 | InvalidParameter.Obviously | The specified parameter is invalid {%s}. | 不合法的参数{%s}。 |
| 400 | InvalidParameter.WithMessage | The parameter is invalid {%s}: %s | 不合法的参数{%s}:%s。 |
| 400 | Application.ChangerOrderRunning | An application change process is in progress. Please try again later. | 应用有变更流程正在执行,请稍后重试。 |
访问错误中心查看更多错误码。
变更历史
更多信息,参考变更详情。