異步創建監聽器
更新時間 2025-05-23 22:34:48
最近更新時間: 2025-05-23 22:34:48
分享文章
接口功能介紹
創建監聽器
接口約束
該接口為異步接口,第一次請求會返回資源在創建中,需要用戶發起多次請求,直到 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
}
}
狀態碼
請參考
錯誤碼
請參考