API 名称:ModifyRules。
API 域名:open.volcengineapi.com 。
API 描述:修改指定监听器转发规则。
节流限制:每秒最多提交 5 个 API 请求。
在使用该部分 API 提交请求时必须包含以下 URI 参数。
除了 URI 参数,该 API 请求还需要包含签名参数。关于更多签名参数的信息,参见公共请求参数。
名称 | 类型 | 是否必选 | 格式 | 说明 |
---|---|---|---|---|
Action | string | 是 | [a-zA-Z]+ | API 名称,如 ModifyRules。 |
Version | string | 是 | YYYY-MM-DD | API 版本信息。该参数的取值是 2020-04-01 。 |
X-Expires | int | 否 | 900 | 表示签名的有效时间,单位是秒,默认值是900。 |
在使用该 API 提交请求时,请求参数中可以包含的参数如下。
参数 | 类型 | 是否必选 | 参数说明 | 示例值 |
---|---|---|---|---|
ListenerId | String | 是 | 监听器ID。 | lsn-2fea4ayvu2g3k5oxruuz**** |
Rules | Array | 是 | 配置转发规则相关信息。详见 Rules 。 | - |
Rules
参数 | 类型 | 是否必选 | 参数说明 | 示例值 |
---|---|---|---|---|
Rules.N.RuleId | List of Struct | 是 | 转发规则的ID。
| Rules.1.RuleId=rule-****&Rules.2.RuleId=rule- **** |
Rules.N.RuleAction
| List of Struct | 否 | 转发规则动作。
| Rules.1.RuleAction=ForwardGroup&Rules.2.RuleAction=Redirect |
Rules.N.ServerGroupId | List of Struct | 否 | 转发到后端服务器组的ID。
| Rules.1.ServerGroupId=rsp-bp1o94dp5i6ea ****&Rules.2.ServerGroupId=rsp-2fea4bshkqv405oxruuz4 **** |
Rules.N.Description | List of Struct | 否 | 转发规则的描述。
| - |
Rules.N.TrafficLimitEnabled | String | 否 | 转发规则 QPS 限速开关:
转发规则更改 QPS 限速的相关配置时,注意事项如下:
| on |
Rules.N.TrafficLimitQPS | Integer | 否 | 当 Rules.N.TrafficLimitEnabled 为 on 时,配置本字段时参数才有效。表示每秒请求数。取值范围:100~150000。 | 100 |
Rules.N.RewriteEnabled | String | 否 |
| on |
Rules.N.RedirectConfig | Array | 否 | 转发规则重定向配置,详见RedirectConfig。 | - |
Rules.N.RewriteConfig | Array | 否 | 转发规则重写配置,详见 RewriteConfig。 | - |
Rules.N.ForwardGroupConfig | Struct | 否 | 转发规则服务器组配置,具体可参见ForwardGroupConfig。 | - |
RedirectConfig
参数 | 类型 | 是否必选 | 参数说明 | 示例值 |
---|---|---|---|---|
Rules.N.RedirectConfig.RedirectDomain | List of Struct | 否
|
| Rules.1.RedirectConfig.RedirectDomain=*.com&Rules.2.RedirectConfig.RedirectDomain=www.test.com |
Rules.N.RedirectConfig.RedirectUri | List of Struct | 否 |
| Rules.1.RedirectConfig.RedirectUri=/&Rules.2.RedirectConfig.RedirectUri=/poo |
Rules.N.RedirectConfig.RedirectPort | List of Struct | 否 |
| Rules.1.RedirectConfig.RedirectPort=80&Rules.2.RedirectConfig.RedirectPort=443 |
Rules.N.RedirectConfig.RedirectHttpCode | List of Struct | 否 |
| Rules.1.RedirectConfig.RedirectHttpCode=301&Rules.2.RedirectConfig.RedirectHttpCode=302 |
Rules.N.RedirectConfig.RedirectProtocol | List of Struct | 否 |
| Rules.1.RedirectConfig.RedirectProtocol=HTTP&Rules.2.RedirectConfig.RedirectProtocol=HTTPS |
RewriteConfig
参数 | 类型 | 是否必选 | 参数说明 | 示例值 |
---|---|---|---|---|
Rules.N.RewriteConfig.RewritePath | String | 否 |
| Rules.1.RewriteConfig.RewritePath=/{1}/${2}&Rules.2.RewriteConfig.RewritePath=/poo |
ForwardGroupConfig
参数 | 类型 | 是否必选 | 参数说明 | 示例值 |
---|---|---|---|---|
Rules.N.ForwardGroupConfig.ServerGroupTuples.N.ServerGroupId | String | 否 | 转发到后端服务器组的ID。
| Rules.1.ForwardGroupConfig.ServerGroupTuples.2.ServerGroupId=rsp-j7vhgiusf98adf |
Rules.N.ForwardGroupConfig.ServerGroupTuples.N.Weight | Integer | 否 | 转发到对应后端服务器组的权重。取值范围:0~100。如果服务器组数量为1,且未指定此参数时,将默认为100。
| Rules.1.ForwardGroupConfig.ServerGroupTuples.2.Weight=50 |
Rules.N.ForwardGroupConfig.StickySessionEnabled | String | 否 | 是否开启组间会话保持。取值:
| Rules.1.ForwardGroupConfig.StickySessionEnabled=on |
Rules.N.ForwardGroupConfig.StickySessionTimeout | Integer | 否 | 组间会话保持的超时时间。单位:秒。取值范围:1 ~ 86400 。默认值:1000 。 | Rules.1.ForwardGroupConfig.StickySessionTimeout=5000 |
参数 | 类型 | 参数说明 | 示例值 |
---|---|---|---|
RequestId | String | 请求ID。 | 20210811152539010225146063030**** |
GET /?Action=ModifyRules&ListenerId=lsn-1g0puwcx****g8ibuxxw2pmf7&Rules.1.RuleId=rule-3ciy****tdjb46c6rrt4jszkd&Rules.1.ServerGroupId=rsp-3ciyn****piww6c6rrsz73tzn&Rules.N.Description=test&Version=2020-04-01 HTTP/1.1 Host: open.volcengineapi.com Region: cn-beijing ServiceName: alb
{ "ResponseMetadata": { "RequestId": "2021081318382****22524314705F6BEBE", "Action": "ModifyRules", "Version": "2020-04-01", "Service": "alb", "Region": "cn-beijing" }, "Result": { "RequestId": "20210813183821****2524314705F6BEBE" } }
如果响应正文包含 Error 字段,则表示 API 请求失败。此处仅展示当前 API 的错误码,更多错误码请参见公共错误码。
HTTP Code | 错误码 | 错误信息 | 错误描述 |
---|---|---|---|
400 | InvalidIndexOrder.Malformed | The specified index order is malformed. | 指定的索引顺序参数格式不合法。 |
400 | OperationDenied.AccountArrears | The request on the specified resource is denied due to the account being in arrears status. | 因账号处于欠费状态,对于该资源的操作请求被拒绝。 |
400 | MissingParameter | The request is missing a required parameter. Ensure that you have supplied all the required parameters for the request; for example, 'Rules'. | 该请求缺少必要参数。请确保发起请求已提供全部必要参数,比如: Rules。 |
400 | LimitExceed.Rule | You've reached the limit on the number of rules that you can operate at a time. | 已达到单次可操作的转发规则的数量上限。 |
400 | InvalidRules.TrafficLimitEnabled.Malformed | The specified Rules.TrafficLimitEnabled is malformed. | 指定的 Rules.TrafficLimitEnabled 参数格式不合法。 |
400 | InvalidRules.TrafficLimitQPS.Malformed | The specified Rules.TrafficLimitQPS is malformed. | 指定的 Rules.TrafficLimitQPS 参数格式不合法。 |
400 | InvalidRules.RuleId.Duplicated | The specified Rules.RuleId is duplicated. | 指定的 Rules.RuleId 重复。 |
400 | InvalidRules.Description.Malformed | The specified Rules.Description is malformed. | 指定的 Rules.Description 参数格式不合法。 |
400 | MissingParameter | The request is missing a required parameter. Ensure that you have supplied all the required parameters for the request; for example, 'Rules.ServerGroupId'. | 该请求缺少必要参数。请确保发起请求已提供全部必要参数,比如: Rules.ServerGroupId。 |
400 | InvalidVpcForServerGroup.LoadBalancerMismatch | The specified VPC of ServerGroup and LoadBalancer do not match. | 指定的服务器组和 ALB 实例的 VPC 不匹配。 |
400 | InvalidServerGroup.InvalidStatus | The specified ServerGroup is not in the correct status for the request. | 指定的服务器组所处状态无法响应该请求。 |
400 | InvalidRules.RedirectConfig.Malformed | The specified Rules.RedirectConfig is malformed. | 指定的 Rules.RedirectConfig 参数格式不合法。重定向协议与监听器协议一致,域名、端口、URI 至少填写一项。 |
400 | InvalidRules.RedirectConfig.RedirectHttpCode.Malformed | The specified Rules.RedirectConfig.RedirectHttpCode is malformed. | 指定的 Rules.RedirectConfig.RedirectHttpCode 参数格式不合法。 |
400 | InvalidRules.RedirectConfig.RedirectProtocol.Malformed | The specified Rules.RedirectConfig.RedirectProtocol is malformed. | 指定的 Rules.RedirectConfig.RedirectProtocol 参数格式不合法。 |
400 | InvalidRules.RedirectConfig.RedirectDomain.Malformed | The specified Rules.RedirectConfig.RedirectDomain is malformed. | 指定的 Rules.RedirectConfig.RedirectDomain 参数格式不合法。 |
400 | InvalidRules.RedirectConfig.RedirectUri.Malformed | The specified Rules.RedirectConfig.RedirectUri is malformed. | 指定的 Rules.RedirectConfig.RedirectUri 参数格式不合法。 |
400 | InvalidRules.RedirectConfig.RedirectPort.Malformed | The specified Rules.RedirectConfig.RedirectPort is malformed. | 指定的 Rules.RedirectConfig.RedirectPort 参数格式不合法。 |
400 | InvalidRules.RuleAction.Malformed | The specified Rules.RuleAction is malformed. | 指定的 Rules.RuleAction 参数格式不合法。 |
400 | InvalidRules.RewriteEnabled.Malformed | The specified Rules.RewriteEnabled is malformed. | 指定的 Rules.RewriteEnabled 参数格式不合法。 |
400 | InvalidRules.RewriteConfig.RewritePath.Malformed | The specified Rules.RewriteConfig.RewritePath is malformed. | 指定的 Rules.RewriteConfig.RewritePath 参数格式不合法。 |
400 | QuotaExceed.ServerPerInstance | You've reached the limit on the number of backend servers per ALB you can associate with, resource xxx, usage xx/xx. | 已达到每个实例可关联的后端服务器的数量上限。资源是xxx,目前已使用xxx,配额为xxx。 |
400 | QuotaExceed.RulePerGroup | You've reached the limit on the number of rules per server group you can associate with, resource xxx, usage xx/xx. | 已达到每个服务器组可关联转发规则的数量上限。资源是xxx,目前已使用xxx,配额为xxx。 |
400 | InvalidLoadBalancer.InvalidStatus | The related LoadBalancer is not in the correct status for the request. | 关联的 ALB 实例所处状态无法响应该请求。 |
400 | InvalidServerGroup.InvalidStatus | The specified ServerGroup is not in the correct status for the request. | 指定的服务器组所处状态无法响应该请求。 |
400 | OperationDenied.RewriteEnabledInRedirectAction | The request on the specified Rule is denied due to the rewrite config is not allowed to be configured in redirect action. | 因重定向转发动作不支持重写功能,对于该转发规则的操作请求被拒绝。 |
400 | LimitExceed.ServerGroupTuple | You've reached the limit on the number of server group tuples that you can associate with the rule. | 已达到单个转发规则可关联的服务器组的数量上限。 |
400 | InvalidRules.ForwardGroupConfig.ServerGroupTuples.ServerGroupId.Duplicated | The specified Rules.ForwardGroupConfig.ServerGroupTuples.ServerGroupId is duplicated. | 指定的Rules.ForwardGroupConfig.ServerGroupTuples.ServerGroupId重复。 |
400 | InvalidRules.ForwardGroupConfig.Malformed | Either ForwardGroupConfig or ServerGroupID must be specified | 转发规则中 ForwardGroupConfig、ServerGroupID 至少填写一项 |
400 | InvalidRules.ForwardGroupConfig.StickySessionTimeout.Malformed | The specified Rules.ForwardGroupConfig.StickySessionTimeout is malformed. | 指定的 Rules.ForwardGroupConfig.StickySessionTimeout 参数格式不合法。 |
400 | InvalidRules.ForwardGroupConfig.ServerGroupTuples.Weight.Malformed | The specified Rules.ForwardGroupConfig.ServerGroupTuples.Weight is malformed. | 指定的 Rules.ForwardGroupConfig.ServerGroupTuples.Weight 参数格式不合法。 |
400 | InvalidRules.ForwardGroupConfig.StickySessionEnabled.Malformed | The specified Rules.ForwardGroupConfig.StickySessionEnabled is malformed. | 指定的 Rules.ForwardGroupConfig.StickySessionEnabled 参数格式不合法。 |
400 | MissingParameter | The request is missing a required parameter. Ensure that you have supplied all the required parameters for the request; for example, 'Rules.ForwardGroupConfig.ServerGroupTuples.ServerGroupId'. | 该请求缺少必要参数。请确保发起请求已提供全部必要参数,比如: Rules.ForwardGroupConfig.ServerGroupTuples.ServerGroupId。 |
400 | MissingParameter | The request is missing a required parameter. Ensure that you have supplied all the required parameters for the request; for example, 'Rules.ForwardGroupConfig.ServerGroupTuples'. | 该请求缺少必要参数。请确保发起请求已提供全部必要参数,比如: Rules.ForwardGroupConfig.ServerGroupTuples。 |
403 | Forbidden | You are not authorized to configure server group tuples. | 您无权限使用多服务器组功能。 |
403 | Forbidden | You are not authorized to configure traffic limit for rule. | 您无权限对指定转发规则配置限速值。 |
403 | Forbidden | You are not authorized to perform operations on the default rule. | 您无权限对默认转发规则进行操作。 |
403 | Forbidden | You are not authorized to configure rewrite for rule. | 您无权限对指定转发规则配置重写。 |
404 | InvalidListener.NotFound | The specified Listener does not exist. | 指定的监听器不存在。 |
404 | InvalidRule.NotFound | The specified Rule does not exist. | 指定的转发规则不存在。 |
404 | InvalidServerGroup.NotFound | The specified ServerGroup does not exist. | 指定的服务器组不存在。 |
500 | InternalError | An internal error has occurred. | 发生内部错误。请稍后重试或联系工程师进一步咨询。 |