為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. | 應用有變更流程正在執行,請稍後重試。 |
訪問錯誤中心查看更多錯誤碼。
變更歷史
更多資訊,參考變更詳情。