UpdateRulesAttribute - 批量更新转发规则属性

批量更新转发规则属性。

接口说明

UpdateRulesAttribute 接口属于异步接口,即系统返回一个请求 ID,但该转发规则属性尚未批量更新成功,系统后台的更新任务仍在进行。您可以调用 ListRules 查询转发规则属性的更新状态:

  • 当多条转发规则属性处于 Configuring 状态时,表示转发规则属性正在批量更新中。

  • 当多条转发规则属性处于 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:UpdateRulesAttributeupdate
  • LoadBalancer
    acs:alb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}

请求参数

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

客户端 Token,用于保证请求的幂等性。

由客户端生成该参数值,要保证在不同请求间唯一。ClientToken 只支持 ASCII 字符。

说明 若您未指定,则系统自动使用 API 请求的 RequestId 作为 ClientToken 标识。每次 API 请求的 RequestId 不一样。
123e4567-e89b-12d3-a456-42665544***
Rulesarray<object>

转发规则列表。一次最多不能超过 10 条。

object

转发规则结构。

Priorityinteger

规则优先级,取值范围:1~10000。值越小表示优先级越高。最多支持添加 20 个规则优先级

说明 同一个监听内规则优先级必须唯一。
10
RuleNamestring

转发规则名称。 长度为 2~128 个英文或中文字符,必须以大小字母或中文开头,可包含数字,半角句号(.),下划线(_)和短划线(-)。最多支持添加 20 个转发规则名称。

rule-ins******
RuleActionsarray<object>

转发规则动作列表。

object

转发规则动作。

FixedResponseConfigobject

返回固定内容动作配置。最多支持添加 20 个返回固定内容动作配置。

Contentstring

返回的固定内容。最大 1 KB,只支持 ASCII 字符。

dssacav
ContentTypestring

返回固定内容的格式。

取值:text/plaintext/csstext/htmlapplication/javascriptapplication/json

text/plain
HttpCodestring

返回的 HTTP 响应码,仅支持 2xx4xx5xx 数字型字符串,x 为任意数字。

200
ForwardGroupConfigobject

转发组动作配置。最多支持添加 20 个转发组动作配置。

ServerGroupTuplesarray<object>

转发到的目的服务器组列表。

object

转发到的目的服务器组结构。

ServerGroupIdstring

转发到的目的服务器组。

sgp-atstuj3rtoptyui****
Weightinteger

权重。取值越大,权重越大,表示转发的访问请求更多。取值范围:0~100

  • 目的服务器组数为 1 时,未指定权重时默认值为 100

  • 目的服务器组数大于 1 时,需要用户指定权重值。

30
ServerGroupStickySessionobject

服务器组之间会话保持。

Enabledboolean

是否开启会话保持。取值:

  • true:开启。
  • false(默认值):不开启。
false
Timeoutinteger

超时时间。单位:秒。取值范围:1~86400

2
InsertHeaderConfigobject

插入头部动作配置。最多支持添加 20 个插入头部动作配置。

CoverEnabledboolean

是否覆盖请求中的值。取值:

  • true:是。
  • false(默认值):否。
false
Keystring

插入的头字段名称,长度为 1~40 个字符,支持大小写字母 a~z、数字、下划线(_)和短划线(-)。头字段名称不能重复用于InsertHeader中。

说明 不支持将 Key 设为以下字段(不区分大小写):slb-idslb-ipx-forwarded-forx-forwarded-protox-forwarded-eipx-forwarded-portx-forwarded-client-srcportconnectionupgradecontent-lengthtransfer-encodingkeep-alivete、hostcookieremoteipauthority
test
Valuestring

插入的头字段内容。

  • ValueType 取值为 SystemDefined 时取值如下:
    • ClientSrcPort:客户端端口。
    • ClientSrcIp:客户端 IP 地址。
    • Protocol:客户端请求的协议(HTTP 或 HTTPS)。
    • SLBId:应用型负载均衡实例 ID。
    • SLBPort:应用型负载均衡实例监听端口。
  • ValueType 取值为 UserDefined 时:您可自定义头字段内容,限制长度为 1~128 个字符,支持通配符星号(*)、半角问号(?)和 ASCII 码值ch >= 32 && ch < 127范围内的可打印字符,开头和结尾不能为空格。
  • ValueType 取值为 ReferenceHeader 时:您可以引用请求头字段中的某一个字段,限制长度限制为 1~128 个字符,支持小写字母 a~z、数字、短划线(-)和下划线(_)。
UserDefined
ValueTypestring

取值类型。取值:

  • UserDefined:用户指定。

  • ReferenceHeader:引用用户请求头中的某一个字段。

  • SystemDefined:系统定义。

UserDefined
Orderinteger

转发规则动作执行的顺序,取值范围:1~50000,按值从小到大执行动作。值不能为空,不能重复。最多支持添加 20 个转发规则动作执行的顺序。

1
RedirectConfigobject

重定向动作配置。最多支持添加 20 个重定向动作配置。

Hoststring

要跳转到的主机名。

命名规则:

  • 主机名长度为 3~128 个字符,支持小写字母 a~z、数字、短划线(-)、半角句号(.)、星号(*)、等号(=)、波浪线(~)、下划线(_)、加号(+)、反斜线(\)、脱字号(^)、感叹号(!)、美元符号($)、and(&)、竖线(|)、半角圆括号(())、方括号([])和半角问号(?)。

  • 主机名至少包含一个半角句号(.),且半角句号(.)不能出现在开头或结尾。

  • 最右侧的域标签只能包含字母、星号()和半角问号(?),不能包含数字或短划线(-),最左侧domainlable允许是星号()。

  • 短划线(-)不能出现在其它域标签的开头或结尾。星号(*)和半角问号(?)可以出现在域标签的任意位置。

www.example.com
HttpCodestring

跳转方式。取值:301302303307308

301
Pathstring

要跳转的路径。

  • ${path}(默认值):可以引用**${host}${protocol}${port}**,每个变量最多出现一次。上述变量可以同时使用,也可以和下面罗列的可取值范围内的字符串拼接使用。
  • 其他取值,字符集和格式限制如下:
    • 长度为 1~128 个字符,支持通配符星号(*)和半角问号(?)作为通配符使用。
    • 必须以正斜线(/)开头,支持大小写字母、数字和特殊字符$-_.+/&~@:'*?,不支持“%#;!()[]^,”
/test
Portstring

要跳转的端口。

取值范围:1~63335

10
Protocolstring

要跳转的协议。

HTTP 监听,取值:HTTPHTTPS

HTTPS 监听,取值:HTTPS

HTTP
Querystring

要跳转的查询字符串。

长度为 1~128 个字符,支持小写字母和可见字符,不支持 #[]{}\|<>&

quert
RewriteConfigobject

重写配置。最多支持添加 20 个重写配置。

Hoststring

内部跳转的目的主机地址。

命名规则:

  • 主机名长度为 3~128 个字符,支持小写字母 a~z、数字、短划线(-)、半角句号(.)、星号(*)、等号(=)、波浪线(~)、下划线(_)、加号(+)、反斜线(\)、脱字号(^)、感叹号(!)、美元符号($)、and(&)、竖线(|)、半角圆括号(())、方括号([])和半角问号(?)。

  • 主机名至少包含一个半角句号(.),且半角句号(.)不能出现在开头或结尾。

  • 最右侧的域标签只能包含字母、星号()和半角问号(?),不能包含数字或短划线(-),最左侧domainlable允许是星号()。

  • 短划线(-)不能出现在其它域标签的开头或结尾。星号(*)和半角问号(?)可以出现在域标签的任意位置。

www.example.com
Pathstring

内部跳转的目的路径。

  • ${path}(默认值):可以引用**${host}${protocol}${port}**,每个变量最多出现一次。上述变量可以同时使用,也可以和下面罗列的可取值范围内的字符串拼接使用。
  • 其他取值,字符集和格式限制如下:
    • 长度为 1~128 个字符,支持通配符星号(*)和半角问号(?)作为通配符使用。
    • 必须以正斜线(/)开头,支持大小写字母、数字和特殊字符$-_.+/&~@:'*?,不支持“%#;!()[]^,”
/tsdf
Querystring

内部跳转的查询字符串。

长度为 1~128 个字符,支持小写字母和可见字符,不支持 #[]{}\|<>&

quedsa
Typestring

动作类型,最多支持添加 11 个动作类型。取值:

  • ForwardGroup:转发至多个虚拟服务器组。

  • Redirect:重定向。

  • FixedResponse:返回固定内容。

  • Rewrite:重写。

  • InsertHeader:写入头字段。

  • RemoveHeader:删除头字段。

  • TrafficLimit:流量限速。

  • TrafficMirror:流量镜像。

  • Cors:跨域。

转发规则中包括的动作类型:

  • FinalType:一个转发规则的动作中仅能有一项 FinalType 的动作并且最后执行,只能包含一项 ForwardGroupRedirect、或 FixedResponse

  • ExtType:一个转发规则可以有一项或多项此类 ExtType 的动作,在 FinalType 的动作之前执行,且需要与 FinalType 并存。包含多项 InsertHeader 或一项 Rewrite

Host
TrafficLimitConfigobject

流量限速。最多支持添加 20 个流量限速。

QPSinteger

每秒请求次数。取值范围:1~1000000

2
PerIpQpsinteger

单 IP 每秒请求次数。 取值范围:1~1000000

说明 如果同时配置 QPS 参数,PerIpQps 参数的取值必须小于 QPS 参数的取值。
80
TrafficMirrorConfigobject

流量镜像。最多支持添加 20 个流量镜像。

TargetTypestring

镜像的目标类型。取值:

  • ForwardGroupMirror:表示镜像至服务器组。
ForwardGroupMirror
MirrorGroupConfigobject

流量镜像至服务器组。

ServerGroupTuplesarray<object>

流量镜像至服务器组。

object

流量镜像至服务器组。

ServerGroupIdstring

服务器组 ID。

sgp-mkgijak0w4qgz9****
RemoveHeaderConfigobject

去除 HTTP 标头。最多支持添加 20 个去除 HTTP 标头。

Keystring

头字段键。

  • 长度为 1~40 个字符。

  • 支持字母 a~z、数字、短划线(-)和下划线(_)。

  • 不支持 Cookie 和 Host。

Port
CorsConfigobject

跨域。

AllowOriginarray

允许的访问来源列表。支持只配置一个元素*,或配置一个或多个值。

  • 单个值必须以http://或者https://开头,后边加一个正确的域名或一级泛域名。(例:http://*.test.abc.example.com
  • 单个值可以不加端口,也可以指定端口,端口范围:1~65535
string

允许的访问来源。

http://example.com
AllowMethodsarray

选择跨域访问时允许的 HTTP 方法。

string

选择跨域访问时允许的 HTTP 方法。取值:

  • GET
  • POST
  • PUT
  • DELETE
  • HEAD
  • OPTIONS
  • PATCH
GET
AllowHeadersarray

允许跨域的 Header 列表。

string

允许跨域的 Header。支持配置为*或配置一个或多个 value 值,多个 value 值用半角逗号(,)隔开。单个 value 值只允许包含大小写字母、数字,不能以下划线(_)和短划线(-)开头或结尾,最大长度限制为 32 个字符。

*或test_123,test_456
ExposeHeadersarray

允许暴露的 Header 列表。

string

允许暴露的 Header。支持配置为*或配置一个或多个 value 值,多个 value 值用半角逗号(,)隔开。单个 value 值只允许包含大小写字母、数字,不能以下划线(_)和短划线(-)开头或结尾,最大长度限制为 32 个字符。

*或test_123,test_456
AllowCredentialsstring

是否允许携带凭证信息。取值:

  • on:是。
  • off:否。
on
MaxAgelong

预检请求在浏览器的最大缓存时间,单位:秒。

取值范围:-1~172800

1000
RuleConditionsarray<object>

转发规则条件。

object

转发规则条件。

CookieConfigobject

Cookie 条件配置。最多支持添加 20 个 Cookie 条件配置。

Valuesarray<object>

Cookie 键值对列表。

object

Cookie 键值对列表。

Keystring

Cookie 键,长度为 1~100 个字符,支持小写字母、可见字符、星号(*)和半角问号(?),不支持空格和#[]{}\|<>&

test
Valuestring

Cookie 值,长度为 1~128 个字符,支持小写英文字母、可见字符、星号(*)和半角问号(?),不支持空格和#[]{}\|<>&

test
HeaderConfigobject

HTTP 标头条件配置。最多支持添加 20 个 HTTP 标头条件配置。

Keystring

头字段键,长度为 1~40 个字符。支持字母 a~z、数字、短划线(-)和下划线(_)。不支持 Cookie 和 Host。

Port
Valuesarray

HTTP 标头值列表。

string

头字段值。长度为 1~128 个字符。支持 ASCII 码值ch >= 32 && ch < 127范围内可打印字符、小写字母、星号(*)和半角问号(?)。开头和结尾不能为空格。

5006
HostConfigobject

主机名条件配置。最多支持添加 20 个主机名条件配置。

Valuesarray

主机名列表。

string

主机名。

命名规则:

  • 主机名长度为 3~128 个字符,支持小写字母 a~z、数字、短划线(-)、半角句号(.)以及星号(*)、等号(=)、波浪线(~)、下划线(_)、加号(+)、反斜线(\)、脱字号(^)、感叹号(!)、美元符号($)、and(&)、竖线(|)、半角圆括号(())、方括号([])和半角问号(?)。

  • 主机名至少包含一个半角句号(.),且半角句号(.)不能出现在开头或结尾。

  • 最右侧的域标签只能包含字母、星号()和问号(?),不能包含数字或短划线(-),最左侧domainlable允许是星号()。

  • 短划线(-)不能出现在其它域标签的开头或结尾。星号(*)和半角问号(?)可以出现在域标签的任意位置。

  • 对于<精确匹配和通配符>的输入框,首字符不可以为波浪线(~)。

  • 对于正则的输入框(<正则匹配(不区分大小写)>,首字符不可以为星号(*)。

www.example.com
MethodConfigobject

HTTP 请求方法条件配置。最多支持 20 个 HTTP 请求方法条件配置。

Valuesarray

HTTP 请求方法列表。

string

请求方法。

取值:HEADGETPOSTOPTIONSPUTPATCHDELETE

PUT
PathConfigobject

查询字符串条件配置。最多支持添加 20 个查询字符串条件配置。

Valuesarray

路径条件列表。

string

转发路径。

  • 长度为 1~128 个字符,支持星号(*)和半角问号(?)作为通配符使用。

  • 非正则表达式的 URL ,必须以正斜线(/)开头,支持大小写字母、数字和特殊字符$-_.+/&~@:'*?,不支持“%#;!()[]^,”

  • 正则表达式的 URL ,必须以~开头,支持大小写字母、数字和特殊字符.-_/=?~^*$:()[]+|

/test
QueryStringConfigobject

查询字符串条件配置。最多支持添加 20 个查询字符串条件配置。

Valuesarray<object>

查询字符串条件键值对列表。

object

查询字符串条件键值对列表。

Keystring

查询字符串键。

长度为 1~100 个字符,支持小写字母、可见字符、星号(*)和半角问号(?),不支持空格和#[]{}\|<>&

test
Valuestring

查询字符串值。

长度为 1~128 个字符,支持小写字母、可见字符、星号(*)和半角问号(?),不支持空格和#[]{}\|<>&

test
ResponseHeaderConfigobject

返回 HTTP 标头。最多支持添加 20 个返回 HTTP 标头。

Keystring

头字段键。

  • 长度为 1~40 个字符。

  • 支持字母 a~z、数字、短划线(-)和下划线(_)。

  • 不支持 Cookie 和 Host。

test
Valuesarray

头字段值。

string

头字段值。

  • 长度为 1~128 个字符。

  • 支持 ASCII 码值ch >= 32 && ch < 127范围内可打印字符、小写字母、星号(*)和半角问号(?)。

  • 开头和结尾不能为空格。

5006
ResponseStatusCodeConfigobject

返回状态码条件配置。当 TypeResponseStatusCode 时必选且有效。最多支持添加 20 个返回状态码条件配置。

Valuesarray

返回状态码条件。

string

返回给客户端响应中的状态码,取值范围:100~599

301
Typestring

转发规则条件类型。

请求方向最多支持添加 7 种转发规则条件类型。取值:

  • Host:主机。

  • Path:路径。

  • Header:HTTP 头字段。

  • QueryString:查询字符串。

  • Method:请求方法。

  • Cookie:Cookie。

  • SourceIp:源 IP。

响应方向最多支持添加 2 种转发规则条件类型。取值:

  • ResponseHeader:响应 HTTP 头字段。

  • ResponseStatusCode: 响应状态码。

SourceIp
SourceIpConfigobject

基于源 IP 业务流量匹配。最多支持添加 20 个基于源 IP 业务流量匹配。

Valuesarray

基于源 IP 业务流量匹配。

string

添加一个或多个 IP 地址或者 IP 地址段。

一条转发规则中最多支持添加 5 条源 IP。

192.168.0.1/32
RuleIdstring

转发规则 ID。最多支持添加 20 个转发规则 ID。

rule-cxjh7vazn2jpnl****
DryRunboolean

是否只预检此次请求,取值:

  • true:发送检查请求,不会批量更新转发规则属性。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码DryRunOperation

  • false(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。

false

返回参数

名称类型描述示例值
object

Schema of Response

RequestIdstring

请求 ID。

365F4154-92F6-4AE4-92F8-7FF34B540710
JobIdstring

异步任务 ID。

72dcd26b-f12d-4c27-b3af-18f6aed5****

示例

正常返回示例

JSON格式

{
  "RequestId": "365F4154-92F6-4AE4-92F8-7FF34B540710",
  "JobId": "72dcd26b-f12d-4c27-b3af-18f6aed5****"
}

错误码

HTTP status code错误码错误信息描述
400OperationDenied.IpGroupCanNotUsedForMirrorActionThe operation is not allowed because of %s.操作被拒绝,原因是%s。
400IncorrectStatus.RuleThe status of %s [%s] is incorrect.资源%s [%s]的状态无效。
400OperationDenied.SameGroupForForwardAndMirrorActionThe operation is not allowed because of %s.操作被拒绝,原因是%s。
400OperationDenied.GRPCServerGroupThe operation is not allowed because of %s.操作被拒绝,原因是%s。
400Conflict.PriorityThere is already %s having the same configuration with %s.%s冲突,已经存在同配置的%s。
400ResourceQuotaExceeded.ServerGroupAttachedNumThe quota of %s is exceeded for resource %s, usage %s/%s.配额%s已超额度限制,资源是%s,目前已使用%s,配额为%s。
400ResourceQuotaExceeded.LoadBalancerServersNumThe quota of %s is exceeded for resource %s, usage %s/%s.配额%s已超额度限制,资源是%s,目前已使用%s,配额为%s。
400ResourceQuotaExceeded.ServerAddedNumThe quota of %s is exceeded for resource %s, usage %s/%s.配额%s已超额度限制,资源是%s,目前已使用%s,配额为%s。
400QuotaExceeded.RuleWildcardsNumThe quota of %s is exceeded, usage %s/%s.配额%s已超额度限制,目前已使用%s,配额为%s。
400QuotaExceeded.RuleMatchEvaluationsNumThe quota of %s is exceeded, usage %s/%s.配额%s已超额度限制,目前已使用%s,配额为%s。
400QuotaExceeded.RuleActionsNumThe quota of %s is exceeded, usage %s/%s.配额%s已超额度限制,目前已使用%s,配额为%s。
400Mismatch.ProtocolThe %s is mismatched for %s and %s.%s在%s和%s中不匹配。
400Mismatch.VpcIdThe %s is mismatched for %s and %s.%s在%s和%s中不匹配。
400OperationDenied.ServiceManagedResourceThe operation is not allowed because the current resource of %s is managed resource.操作被拒绝,原因是资源%s为托管资源。
400OperationDenied.ListenerIdInconsistentThe operation is not allowed because of ListenerIdInconsistent.操作被拒绝,原因是当前转发规则属于不同的监听。
400IllegalParam.PriorityThe param of Priority is illegal.参数Priority非法
400OperationDenied.MirrorActionSupportHttpGroupOnlyThe operation is not allowed because of MirrorActionSupportHttpGroupOnly.操作被拒绝,原因是流量镜像动作只支持HTTP类型的服务器组。
400OperationDenied.ProtocolMustSameForForwardGroupActionThe operation is not allowed because of ProtocolMustSameForForwardGroupAction.操作被禁止,原因:必须是相同的协议
404ResourceNotFound.RuleThe specified resource %s is not found.资源%s不存在。
404ResourceNotFound.ServerGroupThe specified resource %s is not found.资源%s不存在。

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

变更历史

变更时间变更内容概要操作
2024-01-18OpenAPI 错误码发生变更查看变更详情