接口功能介绍
创建监听器
接口约束
该接口为异步接口,第一次请求会返回资源在创建中,需要用户发起多次请求,直到 status 为 done 为止。
URI
POST /v4/elb/async-create-listener
路径参数
无
Query参数
无
请求参数
请求头header参数
无
请求体body参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
clientToken | 是 | String | 客户端存根,用于保证订单幂等性。要求单个云平台账户内唯一,1-64 | ||
regionID | 是 | String | 区域ID | ||
loadBalanceID | 是 | String | 负载均衡实例ID | ||
name | 是 | String | 唯一。支持拉丁字母、中文、数字,下划线,连字符,中文 / 英文字母开头,不能以 http: / https: 开头,长度 2 - 32 | acl11 | |
description | 否 | String | 支持拉丁字母、中文、数字, 特殊字符: |
||
protocol | 是 | String | 监听协议。取值范围:TCP、UDP、HTTP、HTTPS | ||
protocolPort | 是 | Integer | 负载均衡实例监听端口。取值:1-65535 | 8080 | |
certificateID | 否 | String | 证书ID。当protocol为HTTPS时,此参数必选 | ||
caEnabled | 否 | Boolean | 是否开启双向认证。false(不开启)、true(开启) | false | |
clientCertificateID | 否 | String | 双向认证的证书ID | ||
targetGroup | 是 | Array of Objects | 后端服务组 | targetGroup | |
accessControlID | 否 | String | 访问控制ID | ||
accessControlType | 否 | String | 访问控制类型。取值范围:Close(未启用)、White(白名单)、Black(黑名单) | ||
forwardedForEnabled | 否 | Boolean | x forward for功能。false(未开启)、true(开启) | true |
表 targetGroup
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
name | 是 | String | 后端服务组名字 | test | |
algorithm | 是 | String | 负载均衡算法,支持: rr (轮询), lc (最少链接) | rr | |
targets | 否 | Array of Objects | 后端服务 | targets | |
healthCheck | 否 | Object | 健康检查配置 | healthCheck | |
sessionSticky | 否 | Object | 会话保持 | sessionSticky |
表 targets
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
instanceID | 是 | String | 后端服务主机 id | xxxxxxxxxx | |
protocolPort | 是 | Integer | 后端服务监听端口1-65535 | 80 | |
instanceType | 是 | String | 后端服务主机类型,仅支持vm类型 | vm | |
weight | 是 | Integer | 后端服务主机权重: 1 - 256 | 1 | |
address | 是 | String | 后端服务主机主网卡所在的 IP | 192.168.0.1 |
表 healthCheck
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
protocol | 是 | String | 健康检查协议。取值范围:TCP、UDP、HTTP | ||
timeout | 否 | Integer | 健康检查响应的最大超时时间,取值范围:2-60秒,默认为2秒 | 2 | |
interval | 否 | Integer | 负载均衡进行健康检查的时间间隔,取值范围:1-20940秒,默认为5秒 | 5 | |
maxRetry | 否 | Integer | 最大重试次数,取值范围:1-10次,默认为2次 | 2 | |
httpMethod | 否 | String | 仅当protocol为HTTP时必填且生效,HTTP请求的方法默认GET,{GET/HEAD} | ||
httpUrlPath | 否 | String | 仅当protocol为HTTP时必填且生效,默认为'/',支持的最大字符长度:80 | / | |
httpExpectedCodes | 否 | String | 仅当protocol为HTTP时必填且生效,最长支持64个字符,只能是三位数,可以以,分隔表示多个,或者以-分割表示范围,默认200 | 200 |
表 sessionSticky
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
sessionType | 是 | String | 会话保持类型。取值范围:APP_COOKIE、HTTP_COOKIE、SOURCE_IP | APP_COOKIE | |
cookieName | 否 | String | cookie名称,当 sessionType 为 APP_COOKIE 时,为必填参数 | test | |
persistenceTimeout | 否 | Integer | 会话过期时间,当 sessionType 为 APP_COOKIE 或 SOURCE_IP 时,为必填参数 | 10000 |
响应参数
参数 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|
statusCode | Integer | 返回状态码(800为成功,900为失败) | 800 | |
message | String | statusCode为900时的错误信息; statusCode为800时为success, 英文 | success | |
description | String | statusCode为900时的错误信息; statusCode为800时为成功, 中文 | 成功 | |
errorCode | String | statusCode为900时为业务细分错误码,三段式:product.module.code; statusCode为800时为SUCCESS | SUCCESS | |
returnObj | Object | 返回结果 | 见下表 | returnObj |
error | String | statusCode为900时为业务细分错误码,三段式:product.module.code; statusCode为800时为SUCCESS |
表 returnObj
参数 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|
status | String | 创建进度: in_progress / done | in_progress | |
message | String | 进度说明 | 请使用相同请求,进行重试 | |
listenerID | String | 监听器,可能为 null | edbe1a3e-bac3-48a5-9357-d9239d7d1577 |
枚举参数
无
请求示例
请求url
POST /v4/elb/async-create-listener
请求头header
无
请求体body
{
"clientToken":"xxxx",
"regionID":"81f7728662dd11ec810800155d307d5b",
"loadBalancerID":"lb-ai7x5ulq4t",
"name":"yacos-test-tmp",
"description":"yacos-test-tmp",
"protocol":"HTTP",
"protocolPort":8080,
"targetGroup":{
"name":"test",
"algorithm":"rr"
},
"certificateID":null,
"caEnabled":false,
"accessControlID":"ac-or6bz91ihq",
"accessControlType":"White",
"forwardedForEnabled":true
}
响应示例
{
"statusCode":800,
"errorCode":"SUCCESS",
"message":"success",
"description":"成功",
"returnObj":{
"status":"in_progress",
"message":"请使用相同请求,进行重试",
"listenerID":null
}
}
状态码
请参考 状态码
错误码
请参考 错误码