根据泳道组ID修改泳道组网关路由配置
功能介绍
此API用于根据泳道组ID修改泳道组网关路由配置。
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获取方式,请参考获取用户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。 |
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引擎。 |
参数 |
参数类型 |
描述 |
---|---|---|
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": [ { "componentId": "c14f17b7-ac44-4738-8b57-4be7eff7a956", "environmentId": "d1b623d9-3350-4777-8979-5b4b571ca518", "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": { "id": "656d9392-658f-4c2c-bb4f-3702a1169267", "url": "openjdk-{arch}:8-1.3.8", "type": "Java", "name": "OpenJDK8", "deploy_mode": "container", "app_spec_name": "", "version": "1.3.8", "status": "Supported", "release_note": "Fixed some security issues and bugs.", "spec": { "os": "EulerOS 2.9.8", "sdk": "OpenJDK-8u411", "digest": null }, "parameters": null, "system": null }, "replica": 1 } ], "instance_count": 1, "weight": 50, "batch_status": null, "latest_opt": null, "release_plan_id": null }, { "id": "414dccf2-3c15-47c2-8479-0337a5ccc4d9", "name": "gray", "swimlane_group_id": "ba1ca687-1895-4fc3-88ca-9db02ce2a14e", "type": "GRAY", "tag": "gray", "route_status": "ENABLE", "rule_match_mode": null, "project_id": "578ac30b81034b89a7255b3af26db9c9", "rules": null, "creator": "test_user", "create_time": 1726627610327, "update_time": 1726627610327, "instances": null, "instance_count": 0, "weight": 50, "batch_status": null, "latest_opt": null, "release_plan_id": null } ], "swimlane_count": 2, "engine_ids": [ "d68a5ca7-b5b6-4917-a464-0adef94b8067" ] }
状态码
状态码 |
描述 |
---|---|
200 |
操作成功 |
400 |
错误的请求 |
404 |
请求对象不存在 |
500 |
内部错误 |
错误码
错误码格式为:SVCSTG.00100.[Error_ID],例如:SVCSTG.00100400。错误码说明请参考ServiceStage错误码。