创建一条路由规则。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action
元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用背景高亮的方式表示。
- 对于不支持资源级授权的操作,用
全部资源
表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|---|---|---|---|
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。 说明
负载均衡 SLB 包括 CLB 实例和 ALB 实例。
| lb-uf6hucc7inlqrtcq5**** |
ListenerPort | integer | 是 | SLB 监听端口,该端口不能被占用。 | 80 |
CertId | string | 否 | 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 | 否 | 负载均衡 SLB 的类型。取决于创建路由规则时填写的类型,更新时不可变更。取值说明如下:
| clb |
ListenerProtocol | string | 否 | 请求转发协议。取值说明如下:
| HTTP |
SecurityPolicyId | string | 否 | 安全策略实例 ID。 | sp-bp1bpn0kn9**** |
RequestTimeout | integer | 否 | 指定请求超时时间。单位:秒。取值范围:1~180。 如果在超时时间内后端服务器一直没有响应,负载均衡将放弃等待,给客户端返回 HTTP 504 错误码。 | 3 |
IdleTimeout | integer | 否 | 指定连接空闲超时时间。单位:秒。取值范围:1~60。 如果在超时时间内一直没有访问请求,负载均衡会暂时中断当前连接,直到一下次请求来临时重新建立新的连接。 | 15 |
返回参数
示例
正常返回示例
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返回数据为空。 |
访问错误中心查看更多错误码。
变更历史
变更时间 | 变更内容概要 | 操作 |
---|---|---|
2024-10-29 | OpenAPI 错误码发生变更、OpenAPI 入参发生变更 | 查看变更详情 |
2024-09-11 | OpenAPI 错误码发生变更、OpenAPI 入参发生变更 | 查看变更详情 |
2024-08-21 | OpenAPI 错误码发生变更、OpenAPI 入参发生变更 | 查看变更详情 |