批量创建转发规则。
接口说明
调用该接口创建转发规则时,请注意以下事项:
- 配置 Redirect 转发动作时,除了 HttpCode 参数外,其余参数不能都配置默认值。
- 同一个转发规则配置多个转发动作时,Rewrite 转发动作必须配置 ForwardGroup 的动作类型。
- CreateRules 接口属于异步接口,即系统返回一个实例 ID,但该多条转发规则尚未创建成功,系统后台的创建任务仍在进行。您可以调用 ListRules 查询多条转发规则的创建状态:
- 当多条转发规则处于 Provisioning 状态时,表示多条转发规则正在创建中。
- 当多条转发规则处于 Available 状态时,表示多条转发规则创建成功。
- 一条转发规则最多支持添加的条件数(RuleConditions)和动作数(RuleActions)如下:
- 条件数:基础版 5 条,标准版 10 条,WAF 增强版 10 条。
- 动作数:基础版 3 条,标准版 5 条,WAF 增强版 5 条。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action
元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用背景高亮的方式表示。
- 对于不支持资源级授权的操作,用
全部资源
表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|---|---|---|---|
alb:CreateRules | create | *LoadBalancer acs:alb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId} *ServerGroup acs:alb:{#regionId}:{#accountId}:servergroup/{#servergroupId} |
| 无 |
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
ListenerId | string | 是 | 应用型负载均衡实例监听 ID。 | lsn-l16uo9y****** |
ClientToken | string | 否 | 客户端 Token,用于保证请求的幂等性。 从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken 只支持 ASCII 字符。 说明
若您未指定,则系统自动使用 API 请求的 RequestId 作为 ClientToken 标识。每次 API 请求的 RequestId 不一样。
| 5A2CFF0E-5718-45B5-9D4D-70B3FF3898 |
DryRun | boolean | 否 | 是否只预检此次请求,取值:
| false |
Rules | array<object> | 是 | 转发规则列表 | |
object | 是 | |||
Priority | integer | 是 | 转发规则优先级 | |
RuleActions | array<object> | 是 | 转发规则动作 | |
object | 是 | |||
FixedResponseConfig | object | 否 | 返回固定内容动作配置 | |
Content | string | 否 | 内容 | |
ContentType | string | 否 | 内容类型 | |
HttpCode | string | 否 | HTTP 响应码 | |
ForwardGroupConfig | object | 否 | 转发组动作配置 | |
ServerGroupTuples | array<object> | 否 | 转发到的目的服务器组列表 | |
object | 否 | |||
ServerGroupId | string | 否 | 服务器组标识 | |
Weight | integer | 否 | 权重 | |
ServerGroupStickySession | object | 否 | 服务器组之间会话保持 | |
Enabled | boolean | 否 | 是否开启会话保持 | |
Timeout | integer | 否 | 超时时间 | |
InsertHeaderConfig | object | 否 | 插入头部动作配置 | |
Key | string | 否 | HTTP 标头 | |
Value | string | 否 | HTTP 标头内容 | |
ValueType | string | 否 | 取值类型 | |
Order | integer | 是 | 优先级 | |
RedirectConfig | object | 否 | 重定向动作配置 | |
Host | string | 否 | 要跳转的主机地址 | |
HttpCode | string | 否 | 跳转方式 | |
Path | string | 否 | 要跳转的路径 | |
Port | string | 否 | 要跳转的端口 | |
Protocol | string | 否 | 要跳转的协议 | |
Query | string | 否 | 要跳转的查询字符串 | |
RewriteConfig | object | 否 | 内部重定向动作配置 | |
Host | string | 否 | 主机名 | |
Path | string | 否 | 路径 | |
Query | string | 否 | 查询 | |
Type | string | 是 | 转发规则动作类型 | |
TrafficLimitConfig | object | 否 | 流量限速 | |
TrafficMirrorConfig | object | 否 | 流量镜像 | |
TargetType | string | 否 | 镜像目标类型 | |
MirrorGroupConfig | object | 否 | 镜像至服务器组 | |
RemoveHeaderConfig | object | 否 | 去除 HTTP 标头 | |
Key | string | 否 | HTTP 标头键 | |
CorsConfig | object | 否 | 跨域 | |
AllowOrigin | array | 否 | 允许的访问来源 | |
string | 否 | |||
AllowMethods | array | 否 | 选择跨域访问时允许的 HTTP 方法 | |
string | 否 | |||
AllowHeaders | array | 否 | 允许跨域的 Header 列表 | |
string | 否 | |||
ExposeHeaders | array | 否 | 允许暴露的 Header 列表 | |
string | 否 | |||
AllowCredentials | string | 否 | 是否允许携带凭证信息 | |
MaxAge | long | 否 | 预检请求在浏览器的最大缓存时间 | |
RuleConditions | array<object> | 是 | 转发规则条件 | |
object | 是 | |||
CookieConfig | object | 否 | Cookie 条件配置 | |
Values | array<object> | 否 | Cookie 键值对列表 | |
object | 否 | |||
Key | string | 否 | Cookie 条件键 | |
Value | string | 否 | Cookie 条件值 | |
HeaderConfig | object | 否 | HTTP 标头条件配置 | |
Key | string | 否 | HTTP 标头键 | |
Values | array | 否 | HTTP 标头值列表 | |
string | 否 | |||
HostConfig | object | 否 | 主机名条件配置 | |
Values | array | 否 | 主机名列表 | |
string | 否 | |||
MethodConfig | object | 否 | HTTP 请求方法条件配置 | |
Values | array | 否 | HTTP 请求方法列表 | |
string | 否 | |||
PathConfig | object | 否 | 路径条件配置 | |
Values | array | 否 | 路径条件列表 | |
string | 否 | |||
QueryStringConfig | object | 否 | 查询字符串条件配置 | |
Values | array<object> | 否 | 查询字符串条件键值对列表 | |
object | 否 | |||
Key | string | 否 | 查询字符串条件键 | |
Value | string | 否 | 查询字符串条件值 | |
ResponseHeaderConfig | object | 否 | 返回 HTTP 标头 | |
Key | string | 否 | 返回 HTTP 标头键 | |
Values | array | 否 | 返回 HTTP 标头值 | |
Value | string | 否 | ||
ResponseStatusCodeConfig | object | 否 | 返回状态码条件 | |
Values | array | 否 | 返回状态码条件 | |
Value | string | 否 | ||
Type | string | 是 | 条件类型 | |
SourceIpConfig | object | 否 | 基于源 IP 业务流量匹配 | |
Values | array | 否 | 基于源 IP 业务流量匹配 | |
string | 否 | |||
RuleName | string | 是 | 转发规则名称 | |
Direction | string | 否 | 转发规则方向 |
返回参数
示例
正常返回示例
JSON
格式
{
"JobId": "72dcd26b-f12d-4c27-b3af-18f6aed5****",
"RequestId": "365F4154-92F6-4AE4-92F8-7FF34B540710",
"RuleIds": [
{
"RuleId": "rule-a3x3pg1yohq3lq****",
"Priority": 10
}
]
}
错误码
HTTP status code | 错误码 | 错误信息 | 描述 |
---|---|---|---|
400 | IncorrectStatus.Listener | The status of %s [%s] is incorrect. | 监听的当前状态不支持本次操作。 |
400 | OperationDenied.IpGroupCanNotUsedForMirrorAction | The operation is not allowed because of %s. | 操作被拒绝,原因是%s。 |
400 | OperationDenied.SameGroupForForwardAndMirrorAction | The operation is not allowed because of %s. | 操作被拒绝,原因是%s。 |
400 | OperationDenied.GRPCServerGroup | The operation is not allowed because of %s. | 操作被拒绝,原因是存在绑定本GRPC服务器组的监听没有启用HTTP2.0。 |
400 | Conflict.Priority | There is already %s having the same configuration with %s. | 优先级冲突,已经存在相同配置 |
400 | ResourceQuotaExceeded.LoadBalancerRulesNum | The quota of %s is exceeded for resource %s, usage %s/%s. | 转发规则数已超额度限制。 |
400 | ResourceQuotaExceeded.ServerGroupAttachedNum | The quota of %s is exceeded for resource %s, usage %s/%s. | 服务器组可被关联数已超额度限制。 |
400 | ResourceQuotaExceeded.LoadBalancerServersNum | The quota of %s is exceeded for resource %s, usage %s/%s. | 后端服务器数已超额度限制。 |
400 | ResourceQuotaExceeded.ServerAddedNum | The quota of %s is exceeded for resource %s, usage %s/%s. | 服务器添加到组已超额度限制。 |
400 | QuotaExceeded.RuleWildcardsNum | The quota of %s is exceeded, usage %s/%s. | 配额%s已超额度限制,目前已使用%s,配额为%s。 |
400 | QuotaExceeded.RuleMatchEvaluationsNum | The quota of %s is exceeded, usage %s/%s. | 转发规则条件数已超额度限制。 |
400 | QuotaExceeded.RuleActionsNum | The quota of %s is exceeded, usage %s/%s. | 配额%s已超额度限制,目前已使用%s,配额为%s。 |
400 | Mismatch.VpcId | The %s is mismatched for %s and %s. | %s在%s和%s中不匹配。 |
400 | Mismatch.Protocol | The %s is mismatched for %s and %s. | %s在%s和%s中不匹配。 |
400 | OperationDenied.RewriteMissingForwardGroup | The operation is not allowed because of RewriteMissingForwardGroup. | 操作被拒绝,原因是RewriteMissingForwardGroup。 |
400 | OperationDenied.MirrorActionSupportHttpGroupOnly | The operation is not allowed because of MirrorActionSupportHttpGroupOnly. | 操作被拒绝,原因是流量镜像动作只支持HTTP类型的服务器组。 |
400 | OperationDenied.ProtocolMustSameForForwardGroupAction | The operation is not allowed because of ProtocolMustSameForForwardGroupAction. | 操作被禁止,原因:必须是相同的协议 |
404 | ResourceNotFound.Listener | The specified resource %s is not found. | 监听不存在。 |
404 | ResourceNotFound.ServerGroup | The specified resource %s is not found. | 后端服务器组不存在。 |
访问错误中心查看更多错误码。
变更历史
变更时间 | 变更内容概要 | 操作 |
---|---|---|
2024-11-28 | OpenAPI 错误码发生变更 | 查看变更详情 |
2024-09-23 | OpenAPI 错误码发生变更 | 查看变更详情 |
2024-01-18 | OpenAPI 错误码发生变更 | 查看变更详情 |
2023-11-09 | OpenAPI 错误码发生变更 | 查看变更详情 |