文档

CreateIngress - 创建一条路由规则

更新时间:

调用CreateIngress接口创建一条路由规则。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
sae:CreateIngresscreate
  • 全部资源
    *

请求语法

POST /pop/v1/sam/ingress/Ingress

请求参数

名称类型必填描述示例值
NamespaceIdstring

应用所在命名空间 ID,目前不支持跨命名空间的应用。

cn-beijing:sae-test
Descriptionstring

路由规则名称。

ingress-for-sae-test
SlbIdstring

路由规则所使用的 SLB。

lb-uf6hucc7inlqrtcq5****
ListenerPortinteger

SLB 监听端口,该端口不能被占用。

80
CertIdstring

CLB 证书 ID。取值说明如下:

  • LoadBalanceTypeclb 时,使用该字段来配置 HTTPS 监听证书。

CLB 使用 SSL 证书 ID 的更多信息,请参见管理证书(CLB)

188077086902****_176993d****_181437****_108724****
CertIdsstring

ALB 多证书 ID。取值说明如下:

  • LoadBalanceTypealb 时,使用该字段来配置 HTTPS 监听多证书,多个证书 ID 之间使用逗号分割。

  • ALB 使用的 SSL 证书 ID 需要从数字证书产品获取。例如配置756***-cn-hangzhou756***为产品页获取的证书 ID, -cn-hangzhou为固定后缀。更多信息,请参见管理证书(ALB)

87***35-cn-hangzhou,812***3-cn-hangzhou
DefaultRulestring

默认转发规则。按照 IP 地址,通过指定端口转发流量到指定应用。参数说明如下:

  • appId:应用 ID。
  • containerPort:应用实例端口。
说明 所有未匹配或不满足 Rules 转发规则的请求都会转到该指定应用。
{"appId":"395b60e4-0550-458d-9c54-a265d036****","containerPort":8080}
Rulesstring

转发规则。按照域名和请求路径,通过指定端口转发流量到指定应用。参数说明如下:

  • appId:应用 ID。
  • containerPort:应用实例端口。
  • domain:域名。
  • path:请求路径。
  • backendProtocol:后端服务协议,支持 http/https/grpc,默认值为 http。
  • rewritePath:重写路径。
[{"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","rewritePath":"/${1}","backendProtocol":"http"}]
LoadBalanceTypestring

负载均衡 SLB 的类型。取决于创建路由规则时填写的类型,更新时不可变更。取值说明如下:

  • clb:传统型负载均衡 CLB(原 SLB)。
  • alb:应用型负载均衡 ALB。
clb
ListenerProtocolstring

请求转发协议。取值说明如下:

  • HTTP:适用于需要对数据内容进行识别的应用。
  • HTTPS:适用于需要加密传输的应用。
HTTP

返回参数

名称类型描述示例值
object

返回数据。

RequestIdstring

请求 ID。

91F93257-7A4A-4BD3-9A7E-2F6EAE6D****
Messagestring

附加信息。取值说明如下:

  • 请求正常,返回 success
  • 请求异常,返回具体异常错误码。
success
TraceIdstring

调用链 ID,用于精确查询调用信息。

0a98a02315955564772843261e****
Dataobject

返回结果。

IngressIdlong

路由规则 ID。

87
ErrorCodestring

错误码。取值说明如下:

  • 请求成功:不返回 ErrorCode 字段。
  • 请求失败:返回 ErrorCode 字段。具体信息,请参见本文的错误码列表。
Codestring

接口状态或 POP 错误码。取值说明如下:

  • 2xx:成功。
  • 3xx:重定向。
  • 4xx:请求错误。
  • 5xx:服务器错误。
200
Successboolean

创建路由规则是否成功。取值说明如下:

  • true:创建成功。
  • false:创建失败。
true

示例

正常返回示例

JSON格式

{
  "RequestId": "91F93257-7A4A-4BD3-9A7E-2F6EAE6D****",
  "Message": "success",
  "TraceId": "0a98a02315955564772843261e****",
  "Data": {
    "IngressId": 87
  },
  "ErrorCode": "空",
  "Code": "200",
  "Success": true
}

错误码

HTTP status code错误码错误信息描述
400InvalidParameter.NotEmptyYou must specify the parameter %s.不合法的参数:%s不能为空。
400InvalidParameter.ObviouslyThe specified parameter is invalid {%s}.不合法的参数{%s}。
400InvalidParameter.WithMessageThe parameter is invalid {%s}: %s不合法的参数{%s}:%s。
400Slb.NotFoundThe SLB instance does not exist: slbId [%s]SLB不存在:slbId[%s]。
400Exceed.IngressRuleThe number of Ingress related rules must be less than or equal to 40.Ingress配置对应规则不可超过40条。
400SlbListenerPort.NotAvailableThe SLB listening port is unavailable: slbId [%s], port [%s]SLB监听端口被占用:slbId[%s], port[%s]。
400SSLCert.NotFoundThe specified SSL certificate cannot be found.找不到对应的SSL证书。
404InvalidResponse.ApiThe response of API %s is empty.API返回数据为空。

访问错误中心查看更多错误码。

变更历史

变更时间变更内容概要操作
暂无变更历史