1.20.6.12. 3scale WebAssembly 模块 mapping_rule 对象
mapping_rule
对象是 mapping_rules
对象中的数组的一部分。
mapping_rule
对象字段指定以下信息:
- 要匹配的 HTTP 请求方法。
- 匹配路径的模式.
- 要报告的 3scale 方法以及要报告的数量。指定字段的顺序决定了评估顺序。
Name | 描述 | 必需 |
---|---|---|
| 指定代表 HTTP 请求方法的字符串,也称为 verb。接受的值与接受的 HTTP 方法名称之一匹配,不区分大小写。任何方法都匹配的特殊值。 | 是 |
|
与 HTTP 请求的 URI 路径组件匹配的模式。此模式遵循与 3scale 中记录的相同语法。它允许使用大括号(如 | 是 |
|
使用以下必填字段嵌入
| 是 |
| 当成功与此规则匹配,是否应停止评估更多映射规则。 |
可选布尔值。默认值为 |
以下示例独立于 3scale 中方法之间的现有层次结构。也就是说,在 3scale 侧运行的任何内容都不会受到影响。例如,Hits 指标可以是全部的父项,因此它存储了 4 个命中,因为授权请求中的所有报告方法总和,并调用 3scale Authrep
API 端点。
以下示例使用到匹配所有规则的路径 /products/1/sold
的 GET
请求。
mapping_rules
GET
请求示例
apiVersion: maistra.io/v1 kind: ServiceMeshExtension metadata: name: threescale-wasm-auth spec: config: ... mapping_rules: - method: GET pattern: / usages: - name: hits delta: 1 - method: GET pattern: /products/ usages: - name: products delta: 1 - method: ANY pattern: /products/{id}/sold usages: - name: sales delta: 1 - name: products delta: 1 ...
所有 usages
都会添加到模块执行的请求中使用用量数据 3scale,如下所示:
- 命中:1
- 产品:2 个
- 销售:1