1.20.6.12. 3scale WebAssembly 모듈 mapping_rule 오브젝트

mapping_rule 오브젝트는 mapping_rules 오브젝트에서 배열의 일부입니다.

mapping_rule 오브젝트 필드는 다음 정보를 지정합니다.

  • 일치해야 하는 HTTP 요청 메서드 입니다.
  • 경로와 일치하는 패턴입니다.
  • 보고할 양과 함께 보고하는 3scale 메서드입니다. 필드를 지정하는 순서에 따라 평가 순서가 결정됩니다.

표 1.29. mapping_rule 오브젝트 필드

이름설명필수 항목

method

HTTP 요청 메서드(동사라고도 함)를 나타내는 문자열을 지정합니다. accept 값은 허용된 HTTP 메서드 이름 중 하나와 대소문자를 구분하지 않습니다. 모든 의 특수 값은 모든 메서드와 일치합니다.

패턴

HTTP 요청의 URI 경로 구성 요소와 일치하는 패턴입니다. 이 패턴은 3scale에 설명된 것과 동일한 구문을 따릅니다. {this} 과 같은 중괄호 간 문자 시퀀스를 사용하여 와일드카드(별표(*) 문자 사용)를 허용합니다.

사용법

사용 개체 목록입니다. 규칙이 일치하면 권한 부여 및 보고를 위해 3scale로 전송되는 메서드 목록에 해당 deltas 가 있는 모든 메서드가 추가됩니다.

usages 오브젝트 다음 필수 필드와 함께 삽입합니다.

  • name: 보고할 메서드 시스템 이름입니다.
  • delta: 에 의해 해당 방법을 늘릴 수 있습니다.

last

이 규칙의 성공적인 일치로 인해 더 많은 매핑 규칙의 평가를 중지해야 하는지 여부.

선택적 부울. 기본값은 false입니다.

다음 예제는 3scale의 메서드 간 기존 계층 구조와 독립적입니다. 즉, 3scale 측에서 실행되는 모든 항목이 이에 영향을 주지 않습니다. 예를 들어 Hits 지표는 모두 부모일 수 있으므로 인증된 요청에 보고된 모든 메서드의 합계로 인해 4번의 적중을 저장하고 3scale Authrep API 엔드포인트를 호출합니다.

아래 예제에서는 모든 규칙과 일치하는 경로 /products/1/soldGET 요청을 사용합니다.

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
    ...

다음과 같이 사용 데이터를 사용하여 모듈이 수행하는 모든 사용량이 3scale에 추가됩니다.

  • 적중: 1
  • 제품: 2
  • 영업 팀: 1