1.2. APIcast에서 3scale API 사용을 캡처하기 위한 매핑 규칙을 적용하는 방법

API에 대한 요청에 따라 매핑 규칙은 메트릭을 정의하거나 API 사용량을 캡처할 메서드를 지정합니다. 다음은 매핑 규칙의 예입니다.

매핑 규칙

이 규칙은 지표 적중 횟수를 1 만큼 늘리거나 로 시작하는 GET 요청을 의미합니다. 이 규칙은 API에 대한 모든 요청과 일치합니다. 이 규칙은 유효한 매핑 규칙이지만 너무 일반적이며 보다 구체적인 매핑 규칙을 추가하면 종종 두 번 카운트가 발생합니다.

Echo API에 대한 다음 매핑 규칙은 더 구체적인 예를 보여줍니다.

Hello World 매핑 규칙

매핑 규칙은 API 제품 및 API 백엔드 수준에서 작동합니다.

  • 제품 수준에서 룰 매핑.

    • 매핑 규칙이 우선합니다. 즉, 제품 매핑 규칙이 평가되는 첫 번째 규칙입니다.
    • 매핑 규칙은 리디렉션된 트래픽을 수신하는 백엔드와 관계없이 항상 평가됩니다.
  • 백엔드 수준에서 규칙 매핑.

    • 백엔드에 매핑 규칙을 추가하면 백엔드가 결합된 모든 제품에 추가됩니다.
    • 매핑 규칙은 제품 수준에서 정의된 매핑 규칙 다음에 평가합니다.
    • 매핑 규칙은 트래픽이 매핑 규칙이 속하는 동일한 백엔드로 리디렉션되는 경우에만 평가됩니다.
    • 제품의 백엔드 경로는 언급된 제품에 번들로 묶인 백엔드의 각 매핑 규칙에 자동으로 앞에 추가됩니다.

제품 및 백엔드를 사용하여 룰 매핑의 예

다음 예제에서는 백엔드가 1개인 제품에 대한 매핑 규칙을 보여줍니다.

이제 동일한 Echo API 백엔드를 사용하는 Tools For Devs 라는 추가 제품을 고려해 보십시오.

매핑 규칙 일치

3scale은 접두사를 기반으로 매핑 규칙을 적용합니다. 표기법은 OpenAPI 및 ActiveDocs 사양을 따릅니다.

  • 매핑 규칙은 슬래시(/)로 시작해야 합니다.
  • 리터럴 문자열(예: /hello )을 통해 경로에서 일치하는 작업을 수행합니다.

    • 매핑 규칙은 저장되면 각 매핑 규칙에 대해 정의한 지표 또는 메서드를 설정하고 호출한 URL 문자열에 대한 요청이 발생합니다.
  • 매핑 규칙은 쿼리 문자열 또는 본문에 매개 변수를 포함할 수 있습니다(예: /{word}?value={value}).
  • APIcast는 다음과 같은 방식으로 매개변수를 가져옵니다.

    • GET 메서드: 쿼리 문자열에서 다음을 수행합니다.
    • POST,DELETE 또는 PUT 메서드: 본문에서.
  • 매핑 규칙은 이름이 지정된 와일드카드(예: /{word} )를 포함할 수 있습니다. 이 규칙은 자리 표시자 {word} 의 모든 내용과 일치하므로 /morning과 같은 요청이 매핑 규칙과 일치합니다. 슬래시 간에 또는 슬래시와 점 사이에 와일드카드가 표시될 수 있습니다. 매개 변수에는 와일드카드가 포함될 수도 있습니다.
  • 기본적으로 모든 매핑 규칙은 지정한 정렬 순서에 따라 처음부터 마지막까지 평가됩니다. 규칙 /v1 을 추가하면 경로가 /v11/ word 또는 /v 1/ sentence 로 시작되는 요청과 일치합니다.
  • 패턴 끝에 달러 기호($)를 추가하여 정확한 일치를 지정할 수 있습니다. 예를 들어 /v1/word/v1/word 요청만 일치하며 /v1/word/hello 요청과 일치하지 않습니다. 정확한 일치를 위해 모든(/)와 일치하는 기본 매핑 규칙이 비활성화되었는지 확인해야 합니다.
  • 둘 이상의 매핑 규칙이 요청 경로와 일치할 수 있지만 일치하지 않으면 요청이 HTTP 404 상태 코드로 삭제됩니다.

룰 워크플로 매핑

매핑 규칙에는 다음과 같은 워크플로우가 있습니다.

  • 언제든지 새 매핑 규칙을 정의할 수 있습니다. 매핑 규칙 정의를 참조하십시오.
  • 실수로 수정되지 않도록 다음 재로드 시 매핑 규칙이 회색으로 표시됩니다.
  • 기존 매핑 규칙을 편집하려면 오른쪽의 연필 아이콘을 클릭하여 먼저 활성화해야 합니다.
  • 규칙을 삭제하려면 휴지통 아이콘을 클릭합니다.
  • 통합 > 구성 변경 사항을 승격하면 모든 수정 및 삭제가 저장됩니다.

다른 매핑 규칙 중지

하나 이상의 매핑 규칙을 처리한 후 다른 매핑 규칙 처리를 중지하려면 새 매핑 규칙을 생성할 때 Last? (마지막?)를 선택합니다. 예를 들어 API 통합 설정에 정의된 다음 매핑 규칙이 있고 각 규칙과 연결된 메트릭이 있다고 가정합니다.

(get) /path/to/example/search
(get) /path/to/example/{id}

규칙과 일치하면 (get) /path/to/example/search 를 호출할 때 APIcast는 나머지 매핑 규칙 처리를 중지하고 지표 증가를 중지합니다.