调用UpdateIngress接口更新Ingress实例配置。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求头
该接口使用公共请求头,无特殊请求头。更多信息,请参见公共请求和返回头。
请求语法
PUT /pop/v1/sam/ingress/Ingress HTTP/1.1
请求参数
名称 | 类型 | 位置 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|---|
IngressId | Long | Query | 是 | 87 | 路由规则ID。 |
CertId | String | Query | 否 | 188077086902****_176993d****_181437****_108724**** | CLB证书ID。取值说明如下:
CLB使用SSL证书ID的更多信息,请参见管理证书(CLB)。 |
CertIds | String | Query | 否 | 87***35-cn-hangzhou,812***3-cn-hangzhou | ALB多证书ID。取值说明如下:
|
Description | String | Query | 否 | ingress-sae-test | 路由规则名称。 |
ListenerPort | String | Query | 否 | 443 | SLB监听端口,该端口不能被占用。 |
DefaultRule | String | Query | 否 | {"appId":"395b60e4-0550-458d-9c54-a265d036****","containerPort":8080} | 默认转发规则。按照IP地址,通过指定端口转发流量到指定应用。参数说明如下:
说明 所有未匹配或不满足Rules转发规则的请求都会转到该指定应用。 |
Rules | String | FormData | 否 | [{"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":"/path2"}] | 转发规则。按照域名和请求路径,通过指定端口转发流量到指定应用。参数说明如下:
|
LoadBalanceType | String | Query | 否 | clb | 废弃参数,已不支持更新。 |
ListenerProtocol | String | Query | 否 | HTTP | 请求转发协议。取值说明如下:
|
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
RequestId | String | 91F93257-7A4A-4BD3-9A7E-2F6EAE6D**** | 请求ID。 |
Message | String | success | 附加信息。取值说明如下:
|
TraceId | String | 0a98a02315955564772843261e**** | 调用链ID。 |
Data | Object | 返回结果。 |
|
IngressId | Long | 87 | 路由规则ID。 |
ErrorCode | String | 空 | 错误码。取值说明如下:
|
Code | String | 200 | 接口状态或POP错误码。取值说明如下:
|
Success | Boolean | true | 更新Ingress实例配置是否成功。取值说明如下:
|
示例
请求示例
PUT /pop/v1/sam/ingress/Ingress?IngressId=87&CertId=188077086902****_176993d****_181437****_108724****&Description=ingress-sae-test&ListenerPort=443&DefaultRule={"appId":"395b60e4-0550-458d-9c54-a265d036****","containerPort":8080}&LoadBalanceType=clb&ListenerProtocol=HTTP HTTP/1.1
Host:sae.aliyuncs.com
Content-Type:application/json
Rules=[{"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":"/path2"}]
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<UpdateIngressResponse>
<RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>
<Message>success</Message>
<TraceId>0a98a02315955564772843261e****</TraceId>
<Data>
<IngressId>87</IngressId>
</Data>
<Code>200</Code>
<Success>true</Success>
</UpdateIngressResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "91F93257-7A4A-4BD3-9A7E-2F6EAE6D****",
"Message" : "success",
"TraceId" : "0a98a02315955564772843261e****",
"Data" : {
"IngressId" : 87
},
"Code" : "200",
"Success" : true
}
错误码
HttpCode | 错误码 | 错误信息 | 描述 |
---|---|---|---|
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 | 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证书。 |
访问错误中心查看更多错误码。