CreateGreyTagRoute - CreateGreyTagRoute

为Spring Cloud或Dubbo应用创建灰度规则。

接口说明

说明 目前一个应用只能配置一条灰度规则。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
sae:CreateGreyTagRoutecreate
  • 全部资源
    *

请求语法

POST /pop/v1/sam/tagroute/greyTagRoute HTTP/1.1

请求参数

名称类型必填描述示例值
AppIdstring

应用 ID。

7802c49a-67bc-4167-8369-9a9c003c****
Namestring

规则名称。支持以小写字母开头,以数字或小写字母结尾,仅可包含小写字母、中文字符、数字及短划线(-)。不超过 64 个字符。

dubbo-echo
Descriptionstring

规则描述。不超过 64 个字符。

灰度发布-地域灰度
ScRulesstring

为 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"}]
DubboRulesstring

为 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"}]
AlbRulesstring

为配置好 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 参数说明
参数名称类型示例描述
conditionStringOR灰度规则的条件模式,取值说明如下:
- AND:表示与,即同时满足条件列表中的所有条件。
- OR:表示或,即满足条件列表中的任一条件。
pathString/pathSpring Cloud 应用灰度规则对应的路径。
itemsArray of items条件列表。

items 参数说明

参数名称类型示例描述
nameStringtest参数名。
condString==比较操作符。可取值:><>=<===以及!=
typeStringcookie比较类型,取值说明如下:
- param:表示 Parameter。
- cookie:表示 Cookie。
- header:表示 Header。
valueStringtest参数取值,根据 typename 得到的值跟这个值进行比较。
operatorStringrawvalue运算符,取值说明如下:
- rawvalue:表示直接比较。
- list:表示白名单。
- mod:表示对 100 取模。
- deterministic_proportional_steaming_division:表示百分比。
  • DubboRules 参数说明
参数名称类型示例描述
conditionStringOR灰度规则的条件模式,取值说明如下:
- AND:表示与,即同时满足条件列表中的所有条件。
- OR:表示或,即满足条件列表中的任一条件。
methodNameStringechoDubbo 服务的方法名。
serviceNameStringcom.alibaba.edas.boot.EchoServiceDubbo 服务名称。
versionString1.0.0Dubbo 服务版本。
itemsArray of items条件列表。
groupStringDUBBO灰度规则对应的 Dubbo 服务的分组。

items 参数说明

参数名称类型示例描述
indexInteger0参数编号,0 表示第一个参数。
exprString.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")。
condString==比较操作符。可取值:><>=<===以及!=
valueStringtest参数取值,根据 exprindex 得到的值跟这个值进行比较。
operatorStringrawvalue运算符,取值说明如下:
- rawvalue:表示直接比较。
- list:表示白名单。
- mod:表示对 100 取模。
- deterministic_proportional_steaming_division:表示百分比。

返回参数

名称类型描述示例值
object

返回数据。

RequestIdstring

请求 ID。

9D29CBD0-45D3-410B-9826-52F86F90****
Messagestring

调用结果的附加信息。

success
TraceIdstring

调用链 ID,用于精确查询调用信息。

0a98a02315955564772843261e****
Dataobject

灰度规则信息。

GreyTagRouteIdlong

灰度规则 ID,全局唯一。

16
ErrorCodestring

错误码。取值说明如下:

  • 请求成功:不返回 ErrorCode 字段。
  • 请求失败:返回 ErrorCode 字段。具体信息,请参见本文的错误码列表。
Codestring

接口状态或 POP 错误码。取值说明如下:

  • 2xx:成功。
  • 3xx:重定向。
  • 4xx:请求错误。
  • 5xx:服务器错误。
200
Successboolean

查询变更单信息是否成功。取值说明如下:

  • true:查询成功。
  • false:查询失败。
true

示例

正常返回示例

JSON格式

{
  "RequestId": "9D29CBD0-45D3-410B-9826-52F86F90****",
  "Message": "success",
  "TraceId": "0a98a02315955564772843261e****",
  "Data": {
    "GreyTagRouteId": 16
  },
  "ErrorCode": "空",
  "Code": "200",
  "Success": true
}

错误码

HTTP status code错误码错误信息描述
400InvalidParameter.NotEmptyYou must specify the parameter %s.不合法的参数:%s不能为空。
400InvalidParameter.ObviouslyThe specified parameter is invalid {%s}.不合法的参数{%s}。
400InvalidParameter.WithMessageThe parameter is invalid {%s}: %s不合法的参数{%s}:%s。
400Application.ChangerOrderRunningAn application change process is in progress. Please try again later.应用有变更流程正在执行,请稍后重试。

访问错误中心查看更多错误码。

变更历史

变更时间变更内容概要操作
2021-11-16OpenAPI 错误码发生变更查看变更详情