参数 | 是否必填 | 说明 |
策略名称 | 必填 | 本条策略的名称,最多50个字符,要求同一插件下不同策略间名称不能一样。 |
权重 | 必填 | 策略匹配的优先级,可输入0-100之间的正整数,不填默认是0。 权重越大匹配优先级越高,权重相同时按创建时间由新到旧的顺序来排优先级。 |
触发条件 | 必填 | 用于判断客户端请求是否符合条件,请输入条件表达式,详见本文条件表达式相关说明。 |
后端类型 | 必填 | 支持公网 URL/IP、VPC 内资源、云函数SCF、Mock、微服务平台 TSF。 |
后端配置 | 必填 | 当客户端请求满足条件时将被转发到的后端,请输入 YAML 格式的后端配置。 |
/
开头,例如 /test。常量类型 | 说明 | 示例 |
STRING | 字符串类型 | 支持单引号或双引号,如: "Hello"、'hello' |
INTEGER | 整数类型 | 如:1001、-1 |
NUMBER | 浮点数类型 | 如: 0.1、100.0 |
BOOLEAN | 布尔类型 | 如:true、false |
(,)
来指定条件判断的优先级。Random()
作为内置函数,可以产生一个 0-1 的 NUMBER 浮点类型参数,用于随机的判断。param.unknown = 1
,则表达式的判断会返回 false。regex()
匹配参数值,例如 regex(query.name,"colou?r")
。正则表达式字符串需要使用单引号或双引号。exists()
函数来指代是否存在,例如 exists(header.Accept)
。==
和 =
都可以用来判断“等于”关系。ServiceConfig:Method: GETPath: /testUrl: 'http://test.com'ServiceType: HTTP
ServiceConfig:Method: GETPath: /testUrl: 'http://test.com'UniqVpcId: vpc-xxxxxProduct: clbServiceType: HTTP
ServiceScfFunctionName: scftestServiceScfFunctionNamespace: mynamespaceServiceScfFunctionQualifier: $DEFAULTServiceScfFunctionType: EVENTServiceScfIsIntegratedResponse: falseServiceType: SCF
ServiceMockReturnMessage: hello mock from strategyServiceType: MOCK
X-MicroService-Name: consumer-demoX-NameSpace-Code: mytsfMicroServices:- ClusterId: cls-xxxxxxMicroServiceName: tsf-demoNamespaceId: namespace-xxxxxxServiceConfig:Method: ANYPath: /xxxxUrl: ''ServiceTsfHealthCheckConf:IsHealthCheck: trueServiceTsfLoadBalanceConf:IsLoadBalance: trueMethod: RoundRobinRuleSessionStickRequired: falseServiceType: TSF
[{"strategy_name":"route-to-http", // 策略名,最多50个字符,只能包含 A-Za-z0-9 / % ~ _ \\-.{}?&= ,同一插件下策略名不允许重复"strategy_weight":2, // 策略匹配的优先级,可输入0-100之间的正整数,不填默认是0"condition":"query.age<30 and query.need_verify=false or query.level>3", // 条件表达式"backend_type":"HTTP", // 路由转发后端类型,可选值:[MOCK, HTTP, SCF, VPC, UPSTREAM, TSF]"backend_config":{ // 后端配置"ServiceConfig":{"Method":"GET","Path":"/v1/bpi/currentprice.json","Url":"https://api.coindesk.com"},"ServiceType":"HTTP"}}]
本页内容是否解决了您的问题?