根据泳道组ID修改泳道组网关路由配置 - ModifyGatewayRouteConfigurationOfLaneGroupBasedOnTheLaneGroupID
功能介绍
此API用于根据泳道组ID修改泳道组网关路由配置。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限,具体权限要求请参见权限和授权项。
URI
PUT /v3/{project_id}/cas/swimlane-group/{lane_group_id}/route
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
project_id |
是 |
String |
租户项目ID。获取方法,请参考获取项目ID。 |
|
lane_group_id |
是 |
String |
泳道组ID。获取方法,请参考6.4.2-获取所有泳道组。 |
请求消息
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
Content-Type |
是 |
String |
消息体的类型(格式),默认取值为“application/json;charset=utf8”。 |
|
X-Auth-Token |
是 |
String |
调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值。Token获取方式,请参考认证鉴权。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
gray_release_type |
是 |
String |
泳道组灰度类型。
|
|
swimlanes |
是 |
Array of objects |
泳道列表,请参考表4。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
rule_match_mode |
否 |
String |
路由规则匹配模式。当泳道组灰度类型为基于内容,即gray_release_type为CONTENT时生效。
|
|
rules |
否 |
Array of objects |
路由规则。当泳道组灰度类型为基于内容,即gray_release_type为CONTENT时生效。请参考表5。 |
|
weight |
是 |
Integer |
泳道流量权重,范围在0-100之间。当泳道组灰度类型为基于流量,即gray_release_type为WEIGHT时生效。 |
|
id |
是 |
String |
泳道ID。 |
响应消息
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
id |
String |
泳道组ID。 |
|
name |
String |
泳道组名称。 |
|
description |
String |
泳道组描述。 |
|
creator |
String |
创建人。 |
|
project_id |
String |
项目ID。 |
|
gray_release_type |
String |
泳道组灰度类型。
|
|
engine_ids |
Array of String |
网关目标服务引擎ID。 |
|
gateways |
Array of objects |
目标服务列表,请参考表7。 |
|
swimlane_count |
Integer |
泳道数量。 |
|
swimlanes |
Array of objects |
泳道列表,请参考表9。 |
|
create_time |
Integer |
创建时间。 |
|
update_time |
Integer |
更新时间。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
id |
String |
网关ID。 |
|
name |
String |
网关名称。 |
|
engine_id |
String |
目标服务引擎ID,对应于目标服务对应的服务来源所用的引擎ID。 |
|
target_services |
Array of objects |
目标服务列表,对应于网关服务管理中的服务。请参考表8。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
id |
String |
目标服务ID。 |
|
name |
String |
目标服务名称。 |
|
host |
String |
目标服务host信息。 host信息由目标服务的接入引擎后的微服务名、微服务所在环境名、微服务所属应用名称以及微服务接入的引擎类型组成,以点号(.)分隔。 例如,unit-controller.testing.test-application.servicecomb。unit-controller为接入引擎的微服务名称,testing为unit-controller微服务所在环境名,test-application为unit-controller微服务所属应用名称,servicecomb表示unit-controller微服务接入的是ServiceComb引擎。 |
|
engine_type |
String |
引擎类型。 |
|
engine_id |
String |
引擎ID。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
id |
String |
泳道ID。 |
|
name |
String |
泳道名称。 |
|
swimlane_group_id |
String |
所属的泳道组ID。 |
|
type |
String |
泳道类型。
|
|
tag |
String |
泳道标签,根据标签来控制流量的走向。 |
|
route_status |
String |
泳道路由状态。
|
|
rule_match_mode |
String |
路由规则匹配模式。包括ALL和ANY。 ALL表示匹配所有的规则、ANY表示匹配任一规则。 当泳道组灰度类型为基于内容,即gray_release_type为CONTENT时生效。 |
|
rules |
Array of objects |
路由规则。 当泳道组灰度类型为基于内容,即gray_release_type为CONTENT时生效。 请参考表10。 |
|
weight |
Integer |
泳道流量权重。范围在0-100之间。 当泳道组灰度类型为基于流量,即gray_release_type为WEIGHT时生效。 |
|
instances |
Array of objects |
泳道中纳管的组件列表。 请参考表11。 |
|
instance_count |
Integer |
泳道中纳管的组件个数。 |
|
latest_opt |
String |
泳道上一步的操作。
|
|
release_plan_id |
String |
泳道上一步操作关联的发布单ID。 |
|
project_id |
String |
项目ID。 |
|
create_time |
Integer |
创建时间。 |
|
update_time |
Integer |
更新时间。 |
|
creator |
String |
创建人。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
type |
String |
灰度匹配规则类型。当前只支持HEADER,即基于Header头进行匹配。 |
|
key |
String |
键。 |
|
value |
String |
值。 |
|
condition |
String |
匹配条件。
|
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
id |
String |
应用组件实例ID。 |
|
name |
String |
应用组件实例名称。 |
|
version |
String |
应用组件版本号。 |
|
application_id |
String |
应用ID。 |
|
component_id |
String |
组件ID。 |
|
application_name |
String |
应用名称。 |
|
status |
String |
实例状态。 |
|
engine_id |
String |
组件关联引擎ID。 |
|
runtime_stack |
Object |
运行时,请参考表12。 |
|
replica |
Integer |
实例副本数。 |
请求示例
修改ID为ba1ca687-1895-4fc3-88ca-9db02ce2a14e的泳道组网关路由配置。
{
"gray_release_type": "WEIGHT",
"swimlanes": [
{
"id": "1cd0cb71-5d5d-41a0-8b05-f7ed53400cf7",
"weight": 50
},
{
"id": "414dccf2-3c15-47c2-8479-0337a5ccc4d9",
"weight": 50
}
]
}
响应示例
{
"gateways": [
{
"id": "71949725-9c8f-483a-a05f-74d33ff1613e",
"name": "microGateway-cy8bhr",
"target_services": [
{
"id": "8177d237-b912-4167-a90d-33c603610d0b",
"host": "provider..demo-java-chassis-cse-v2.servicecomb",
"name": "provider",
"engine_id": "d68a5ca7-b5b6-4917-a464-0adef94b8067",
"engine_type": "servicecomb"
}
],
"engine_id": "d68a5ca7-b5b6-4917-a464-0adef94b8067"
}
],
"id": "ba1ca687-1895-4fc3-88ca-9db02ce2a14e",
"name": "test",
"gray_release_type": "WEIGHT",
"description": "test-descption",
"project_id": "578ac30b81034b89a7255b3af26db9c9",
"creator": "test_user",
"create_time": 1726623793113,
"update_time": 1726623793113,
"swimlanes": [
{
"id": "1cd0cb71-5d5d-41a0-8b05-f7ed53400cf7",
"name": "base",
"swimlane_group_id": "ba1ca687-1895-4fc3-88ca-9db02ce2a14e",
"type": "BASE",
"tag": "base",
"route_status": "ENABLE",
"rule_match_mode": null,
"project_id": "578ac30b81034b89a7255b3af26db9c9",
"rules": null,
"creator": "test_user",
"create_time": 1726626094346,
"update_time": 1726626094346,
"instances": [
{
"id": "5fd78836-301e-4750-bdc9-be8a9e43b19a",
"name": "weater-beta",
"version": "2024.0914.17114",
"application_id": "69993ce9-e468-3349-acb8-a30b85b17de5",
"application_name": "weathermap",
"status": "RUNNING",
"engine_id": "d68a5ca7-b5b6-4917-a464-0adef94b8067",
"runtime_stack": {
"url": "openjdk-{arch}:8-1.3.8",
"type": "Java",
"name": "OpenJDK8",
"deploy_mode": "container",
"version": "1.3.8",
"status": "Supported",
},
"replica": 1
}
],
"instance_count": 1,
"weight": 50,
"latest_opt": null,
"release_plan_id": null
}
],
"swimlane_count": 2,
"engine_ids": [
"d68a5ca7-b5b6-4917-a464-0adef94b8067"
]
}
状态码
|
状态码 |
描述 |
|---|---|
|
200 |
操作成功 |
|
400 |
错误的请求 |
|
404 |
请求对象不存在 |
|
500 |
内部错误 |
错误码
请参考ServiceStage错误码。