创建规则 - CreateRule
功能介绍
创建一条规则
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限,具体权限要求请参见权限和授权项。
URI
POST /v2/{project_id}/routemgr/rules
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
project_id | 是 | String | 项目ID |
请求参数
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
Content-Type | 是 | String | 消息体的类型(格式),默认取值为“application/json”。 |
X-Auth-Token | 是 | String | 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
ief-instance-id | 否 | String | 企业版实例ID,专业版实例为空值。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
rule | 否 | RuleConfig object | 规则配置 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
description | 否 | String | 规则描述,最大长度255,不允许^~#$%&*<>()[]{}'"\ |
ief_instance_id | 否 | String | 企业版实例ID,如果为空则表示是专业版实例。 |
in_using | 否 | Boolean | 是否启用规则,默认为true(启用) |
name | 是 | String | 规则名称,只允许中文字符、英文字符、数字、下划线、中划线,最大长度64 同一个账号中创建的规则名唯一 |
source | 是 | String | 源端点ID |
source_resource | 是 | Map<String,String> | 源端点资源。示例:
|
target | 是 | String | 目的端点ID |
target_resource | 是 | Map<String,String> | 目的端点资源。示例:
{"channel": "dis channel name"} {"path": "/request path"} {"resource": "http://ssss.com"} {"topic": "/xxxx"} |
响应参数
状态码:201
参数 | 参数类型 | 描述 |
|---|---|---|
rule | RuleResponse object | 规则配置 |
参数 | 参数类型 | 描述 |
|---|---|---|
created_at | String | 创建时间 |
description | String | 规则描述,最大长度255,不允许^~#$%&*<>()[]{}'"\ |
fail_messages | Integer | 转发失败的消息数 |
id | String | 规则ID |
ief_instance_id | String | 企业版实例ID,如果为空则表示是专业版实例。 |
in_using | Boolean | 是否启用规则,默认为true(启用) |
name | String | 规则名称,只允许中文字符、英文字符、数字、下划线、中划线,最大长度64 同一个账号中创建的规则名唯一 |
project_id | String | 项目ID |
source | EndpointObjResp object | 端点详情 |
source_resource | Map<String,String> | 源端点资源。示例:
|
target | EndpointObjResp object | 端点详情 |
target_resource | Map<String,String> | 目的端点资源,示例:
|
updated_at | String | 更新时间 |
success_messages | Integer | 转发成功的消息数 |
参数 | 参数类型 | 描述 |
|---|---|---|
created_at | String | 创建时间 |
description | String | 端点描述,最大长度255,不允许^~#$%&*<>()[]{}'"\ |
id | String | 端点ID |
ief_instance_id | String | 企业版实例ID,如果为空则表示是专业版实例。 |
is_shared | Boolean | 是否共享 |
name | String | 端点名称,只允许中文字符、英文字符、数字、下划线、中划线,最大长度64 同一个账号中创建的端点名唯一 |
project_id | String | 项目ID |
properties | Map<String,Object> | 端点的属性,端点需要对外展示的属性,示例:
{"domain_id":"user's domain id"} {"service_port":8080} {"domain_id":"user's domain id"} |
type | String | 端点类型。枚举值:
|
updated_at | String | 更新时间 |
请求示例
创建规则,规则名为“example”。
{
"rule" : {
"name" : "example",
"description" : "",
"target_resource" : {
"topic" : "/hello"
},
"target" : "6bf2fda9-810c-40ed-8623-ff9396fe357d",
"source" : "b98c3337-fb15-4548-8d11-63ae78f0cc82",
"source_resource" : {
"path" : "/abc"
}
}
} 响应示例
状态码:201
ok
{
"rule" : {
"name" : "example",
"description" : "",
"source_resource" : {
"path" : "/abc"
},
"target_resource" : {
"topic" : "/hello"
},
"in_using" : true,
"ief_instance_id" : "",
"id" : "626d38cb-098f-4493-b48b-6d6e5ad1bc43",
"project_id" : "ed202955e111444e8ced21a1bd75fc59",
"created_at" : "2022-09-07T11:07:48Z",
"updated_at" : "2022-09-07T11:07:48Z",
"source" : {
"name" : "SystemREST",
"description" : "",
"type" : "rest",
"properties" : {
"public" : "100.95.158.25"
},
"ief_instance_id" : "",
"is_shared" : true,
"id" : "b98c3337-fb15-4548-8d11-63ae78f0cc82",
"project_id" : "9ff38382ccc546ac9635800c3315a5e2",
"created_at" : "2019-03-09T11:42:45Z",
"updated_at" : "2021-10-11T09:16:09Z"
},
"target" : {
"name" : "SystemEventBus",
"description" : "",
"type" : "eventbus",
"properties" : { },
"ief_instance_id" : "",
"is_shared" : true,
"id" : "6bf2fda9-810c-40ed-8623-ff9396fe357d",
"project_id" : "9ff38382ccc546ac9635800c3315a5e2",
"created_at" : "2019-03-09T11:42:45Z",
"updated_at" : "2021-10-11T09:16:09Z"
},
"fail_messages" : 0,
"success_messages" : 0
}
} 状态码
状态码 | 描述 |
|---|---|
201 | ok |
错误码
请参见错误码。

