创建转发策略。
接口说明
全球加速HTTP或HTTPS协议的监听支持配置基于域名和路径等类型的转发策略。HTTP或HTTPS协议的监听接收到访问请求后,访问请求首先会匹配转发策略中的配置的转发条件,再根据转发条件执行对应的转发动作。例如转发策略中配置了基于域名为www.example.com
的转发条件及转发至epg-bp1enpdcrqhl78g6r****
的转发动作,那么当有访问www.example.com
的请求时,将匹配到该转发策略,访问请求将最终被转发至终端节点组epg-bp1enpdcrqhl78g6r****
。在您调用本接口创建转发策略前,建议您先了解转发策略的转发规则。更多信息,请参见转发策略。
调用本接口时,请注意以下事项:
-
CreateForwardingRules接口属于异步接口,即系统会先返回一个转发策略ID,但转发策略并未创建完成,系统后台的创建任务仍在进行。您可以调用ListForwardingRules查询转发策略的状态:
-
当转发策略处于configuring状态时,表示转发策略正在创建中,在该状态下,您只能执行查询操作,不能执行其他操作。
-
当转发策略处于active状态时,表示转发策略创建完成。
-
-
CreateForwardingRules接口不支持在同一个全球加速实例内并发创建转发策略。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action
元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用背景高亮的方式表示。
- 对于不支持资源级授权的操作,用
全部资源
表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|---|---|---|---|
ga:CreateForwardingRules | Write |
|
| 无 |
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
RegionId | string | 是 | 全球加速实例所属的地域ID,仅取值:cn-hangzhou。 | cn-hangzhou |
ClientToken | string | 否 | 客户端Token,用于保证请求的幂等性。 从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。 说明
若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId可能不一样。
| 02fb3da4**** |
AcceleratorId | string | 是 | 全球加速实例ID。 | ga-bp17frjjh0udz4q**** |
ListenerId | string | 是 | 监听实例ID。 | lsr-bp1s0vzbi5bxlx5**** |
ForwardingRules | object [] | 是 | 转发策略配置信息列表。 | test |
Priority | integer | 否 | 转发策略优先级。取值范围:1~10000。值越小表示优先级越高。 | 1000 |
RuleConditions | object [] | 是 | 转发条件列表。 | |
RuleConditionType | string | 否 | 转发条件类型。取值:
| Host |
RuleConditionValue | string | 否 | 转发条件类型对应的值。 根据RuleConditionType传入不同的JSON字符串值。
| ["www.example.com", "www.aliyun.com"] |
PathConfig | object | 否 | 路径配置信息。 说明
不推荐使用该参数,建议直接使用RuleConditionType和RuleConditionValue配置转发条件。
| |
Values | array | 否 | 路径配置信息。 说明
不推荐使用该参数,建议直接使用RuleConditionType和RuleConditionValue配置转发条件。
| |
string | 否 | 路径。 路径长度为1~128个字符,必须以正斜线(/)开头,只允许包含字母、数字、美元符号($)、短划线(-)、下划线(_)、半角句号(.)、加号(+)、正斜线(/)、and(&)、波浪线(~)、at(@)、半角冒号(:)、半角单引号('),支持使用星号(*)和半角问号(?)作为通配符。 说明
不推荐使用该参数,建议直接使用RuleConditionType和RuleConditionValue配置转发条件。
| /test | |
HostConfig | object | 否 | 域名配置信息。 说明
不推荐使用该参数,建议直接使用RuleConditionType和RuleConditionValue配置转发条件。
| |
Values | array | 否 | 域名配置信息。 说明
不推荐使用该参数,建议直接使用RuleConditionType和RuleConditionValue配置转发条件。
| |
string | 否 | 域名。 域名长度为3~128个字符,允许包含字母、数字、短划线(-)和半角句号(.),支持使用星号(*)和半角问号(?)作为通配符。 说明
不推荐使用该参数,建议直接使用RuleConditionType和RuleConditionValue配置转发条件。
| example.com | |
RuleActions | object [] | 是 | 转发动作。 | |
Order | integer | 是 | 转发优先级。 说明
当前无实际意义,无需配置。
| 20 |
RuleActionType | string | 是 | 转发动作类型。取值:
| ForwardGroup |
RuleActionValue | string | 否 | 转发动作类型对应的值。 根据RuleActionType传入不同的JSON字符串值。 一个转发规则最多只能有一条ForwardGroup、Redirect、FixResponse类型的转发动作。Rewrite、AddHeader、RemoveHeader类型的转发动作顺序必须在ForwardGroup类型的转发动作之前。
| [{"type":"endpointgroup", "value":"epg-bp1enpdcrqhl78g6r****"}] |
ForwardGroupConfig | object | 否 | 转发配置。 说明
不推荐使用该参数,建议直接使用RuleActionType和RuleActionValue配置转发动作。
| |
ServerGroupTuples | object [] | 是 | 终端节点组配置。 说明
不推荐使用该参数,建议直接使用RuleActionType和RuleActionValue配置转发动作。
| |
EndpointGroupId | string | 是 | 终端节点组ID。 说明
不推荐使用该参数,建议直接使用RuleActionType和RuleActionValue配置转发动作。
| epg-bp1ieei9664r5nv**** |
ForwardingRuleName | string | 否 | 转发策略名称。 名称长度为2~128个英文或中文字符,必须以大小写字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。 | test |
RuleDirection | string | 否 | 规则生效方向。无需配置。 目前默认为request,表示请求方向生效。 | request |
返回参数
示例
正常返回示例
JSON
格式
{
"RequestId": "64ADAB1E-0B7F-4FD8-A404-3BECC0E9CCFF",
"ForwardingRules": [
{
"ForwardingRuleId": "frule-bp1dii16gu9qdvb34****"
}
]
}
错误码
HTTP status code | 错误码 | 错误信息 | 描述 |
---|---|---|---|
400 | NotExist.Listener | The listener does not exist. | 监听器不存在 |
400 | NotActive.Listener | The state of the listener is not active. | 监听器状态非稳态 |
400 | NotExist.Accelerator | The accelerated instance does not exist. | 加速实例不存在。 |
400 | StateError.Accelerator | The state of the accelerated instance is invalid. | 加速实例状态非法。 |
400 | NotExist.BusinessRegion | The business region does not exist. | 业务region并不存在 |
400 | NotExist.BasicBandwidthPackage | You must specify the basic bandwidth package. | 缺少基础带宽包 |
400 | QuotaExceeded.EndPoint | The maximum number of endpoints is exceeded. | 终端节点达到Quota限制 |
400 | Exist.EndpointGroup | The endpoint group already exists. | 终端节点组已存在 |
400 | NoPermission.VpcEndpoint | You are not authorized to perform the operation. | 用户没有创建服务关联角色的权限,请联系主账号或权限管理员授权当前用户AliyunGlobalAccelerationFullAccess或者创建服务关联角色的自定义权限。自定义权限策略的相关信息包含以下内容:ServiceName为vpcendpoint.ga.aliyuncs.com,服务关联角色名称为AliyunServiceRoleForGaVpcEndpoint,执行该操作所需的用户权限为ram:CreateServiceLinkedRole。 |
400 | QuotaExceeded.ForwardingRule | The number of forwarding rule exceeds the limit. | 转发规则数量超过限制 |
400 | QuotaExceeded.RuleConditionConfig | The number of path and host exceeds the limit. | - |
400 | RepeatPathAndHost.ForwardingRule | path and host %s repeat | - |
访问错误中心查看更多错误码。
变更历史
变更时间 | 变更内容概要 | 操作 | ||||
---|---|---|---|---|---|---|
2023-04-20 | OpenAPI 错误码发生变更 | 看变更集 | ||||
|