建立一條路由規則。
調試
您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。
調試
授權資訊
|
操作 |
存取層級 |
資源類型 |
條件關鍵字 |
關聯操作 |
|
sae:CreateIngress |
create |
*全部資源
|
無 | 無 |
請求文法
POST /pop/v1/sam/ingress/Ingress HTTP/1.1
請求參數
|
名稱 |
類型 |
必填 |
描述 |
樣本值 |
| NamespaceId |
string |
是 |
應用所在命名空間 ID,目前不支援跨命名空間的應用。 |
cn-beijing:sae-test |
| Description |
string |
否 |
路由規則名稱。 |
ingress-for-sae-test |
| SlbId |
string |
否 |
路由規則所使用的 SLB 執行個體 ID。 說明
Server Load Balancer 包括 CLB 執行個體和 ALB 執行個體。 |
lb-uf6hucc7inlqrtcq5**** |
| ListenerPort |
integer |
是 |
SLB 監聽連接埠,該連接埠不能被佔用。 |
80 |
| CertId |
string |
否 |
CLB 認證 ID。取值說明如下:
CLB 使用 SSL 憑證 ID 的更多資訊,請參見管理憑證(CLB)。 |
188077086902****_176993d****_181437****_108724**** |
| CertIds |
string |
否 |
ALB 多認證 ID。取值說明如下:
|
87***35-cn-hangzhou,812***3-cn-hangzhou |
| DefaultRule |
string |
是 |
預設轉寄規則。按照 IP 位址,通過指定連接埠轉寄流量到指定應用。參數說明如下:
說明
所有未匹配或不滿足 Rules 轉寄規則的請求都會轉到該指定應用。 |
{"appId":"395b60e4-0550-458d-9c54-a265d036****","containerPort":8080} |
| Rules |
string |
是 |
轉寄規則。按照網域名稱和請求路徑,通過指定連接埠轉寄流量到指定應用。參數說明如下:
說明
目前僅有 ALB 支援設定 URL 路徑重寫(RewritePath)功能,CLB 不支援此功能。 |
[{"appId":"395b60e4-0550-458d-9c54-a265d036****","containerPort":8080,"domain":"www.sae.site","path":"/path1"},{"appId":"666403ce-d25b-47cf-87fe-497565d2****","containerPort":8080,"domain":"sae.site","path":"/sys/(.*)/(.*)/aaa","backendProtocol":"http"}] |
| LoadBalanceType |
string |
否 |
Server Load Balancer 的類型。取決於建立路由規則時填寫的類型,更新時不可變更。取值說明如下:
|
clb |
| ListenerProtocol |
string |
否 |
請求轉寄協議。取值說明如下:
|
HTTP |
| SecurityPolicyId |
string |
否 |
安全性原則執行個體 ID。 |
sp-bp1bpn0kn9**** |
| RequestTimeout |
integer |
否 |
指定請求逾時時間。單位:秒。取值範圍:1~180。 如果在逾時時間內後端伺服器一直沒有響應,負載平衡將放棄等待,給用戶端返回 HTTP 504 錯誤碼。 |
3 |
| IdleTimeout |
integer |
否 |
指定串連空閑逾時時間。單位:秒。取值範圍:1~60。 如果在逾時時間內一直沒有訪問請求,負載平衡會暫時中斷當前串連,直到一下次請求來臨時重建立立新的串連。 |
15 |
| EnableXForwardedFor |
boolean |
否 |
是否開啟通過 X-Forwarded-For 頭欄位擷取來訪者用戶端 IP。 |
true |
| EnableXForwardedForClientSrcPort |
boolean |
否 |
是否通過 X-Forwarded-Port 頭欄位擷取Server Load Balancer執行個體的監聽連接埠。 |
true |
| EnableXForwardedForProto |
boolean |
否 |
是否通過 X-Forwarded-Proto 頭欄位擷取Server Load Balancer執行個體的監聽協議。 |
true |
| EnableXForwardedForSlbId |
boolean |
否 |
是否通過 SLB-ID 頭欄位擷取Server Load Balancer執行個體 ID。 |
true |
| EnableXForwardedForSlbPort |
boolean |
否 |
是否通過 X-Forwarded-Port 頭欄位擷取Server Load Balancer執行個體的監聽連接埠。 |
true |
| AddressType |
string |
否 |
地址類型:
|
Internet |
| LoadBalancerEdition |
string |
否 |
應用型負載平衡的版本,不同版本有不同功能限制和計費策略。取值:
|
Standard |
| ZoneMappings |
string |
否 |
可用性區域及交換器映射列表的 JSON 字串。若當前地區支援 2 個及以上的可用性區域,至少需要添加 2 個可用性區域。一個 ZoneMapping 結構為:
|
[{"VSwitchId":"vsw-wz9klui6icc08p6******","ZoneId":"cn-shenzhen-c"},{"VSwitchId":"vsw-wz9frrmoeuki2wp******","ZoneId":"cn-shenzhen-e"}] |
| CorsConfig |
string |
否 |
跨網域設定 |
{"Enable":"true"} |
| EnableGzip |
boolean |
否 |
是否開啟資料壓縮 |
true |
返回參數
|
名稱 |
類型 |
描述 |
樣本值 |
|
object |
返回資料。 |
||
| RequestId |
string |
請求 ID。 |
91F93257-7A4A-4BD3-9A7E-2F6EAE6D**** |
| Message |
string |
附加資訊。取值說明如下:
|
success |
| TraceId |
string |
調用鏈 ID,用於精確查詢調用資訊。 |
0a98a02315955564772843261e**** |
| Data |
object |
返回結果。 |
|
| IngressId |
integer |
路由規則 ID。 |
87 |
| ErrorCode |
string |
錯誤碼。取值說明如下:
|
|
| Code |
string |
介面狀態或 POP 錯誤碼。取值說明如下:
|
200 |
| Success |
boolean |
建立路由規則是否成功。取值說明如下:
|
true |
樣本
正常返回樣本
JSON格式
{
"RequestId": "91F93257-7A4A-4BD3-9A7E-2F6EAE6D****",
"Message": "success",
"TraceId": "0a98a02315955564772843261e****",
"Data": {
"IngressId": 87
},
"ErrorCode": "",
"Code": "200",
"Success": true
}
錯誤碼
|
HTTP status code |
錯誤碼 |
錯誤資訊 |
描述 |
|---|---|---|---|
| 400 | InvalidParameter.NotEmpty | You must specify the parameter %s. | 不合法的參數:%s不可為空。 |
| 400 | InvalidParameter.Obviously | The specified parameter is invalid {%s}. | 不合法的參數{%s}。 |
| 400 | InvalidParameter.WithMessage | The parameter is invalid {%s}: %s | 不合法的參數{%s}:%s。 |
| 400 | Slb.NotFound | The SLB instance does not exist: slbId [%s] | SLB不存在:slbId[%s]。 |
| 400 | Exceed.IngressRule | The number of Ingress related rules must be less than or equal to 40. | Ingress配置對應規則不可超過40條。 |
| 400 | SlbListenerPort.NotAvailable | The SLB listening port is unavailable: slbId [%s], port [%s] | SLB監聽連接埠被佔用:slbId[%s], port[%s]。 |
| 400 | SSLCert.NotFound | The specified SSL certificate cannot be found. | 找不到對應的SSL認證。 |
| 404 | InvalidResponse.Api | The response of API %s is empty. | API返回資料為空白。 |
訪問錯誤中心查看更多錯誤碼。
變更歷史
更多資訊,參考變更詳情。