1.2. APIcast에서 3scale API 사용을 캡처하기 위한 매핑 규칙을 적용하는 방법
API에 대한 요청에 따라 매핑 규칙은 메트릭을 정의하거나 API 사용량을 캡처할 메서드를 지정합니다. 다음은 매핑 규칙의 예입니다.
이 규칙은 지표 적중
횟수를 1
만큼 늘리거나 로 시작하는 GET
요청을 의미합니다. 이 규칙은 API에 대한 모든 요청과 일치합니다. 이 규칙은 유효한 매핑 규칙이지만 너무 일반적이며 보다 구체적인 매핑 규칙을 추가하면 종종 두 번 카운트가 발생합니다.
Echo API에 대한 다음 매핑 규칙은 더 구체적인 예를 보여줍니다.
매핑 규칙은 API 제품 및 API 백엔드 수준에서 작동합니다.
제품 수준에서 룰 매핑.
- 매핑 규칙이 우선합니다. 즉, 제품 매핑 규칙이 평가되는 첫 번째 규칙입니다.
- 매핑 규칙은 리디렉션된 트래픽을 수신하는 백엔드와 관계없이 항상 평가됩니다.
백엔드 수준에서 규칙 매핑.
- 백엔드에 매핑 규칙을 추가하면 백엔드가 결합된 모든 제품에 추가됩니다.
- 매핑 규칙은 제품 수준에서 정의된 매핑 규칙 다음에 평가합니다.
- 매핑 규칙은 트래픽이 매핑 규칙이 속하는 동일한 백엔드로 리디렉션되는 경우에만 평가됩니다.
- 제품의 백엔드 경로는 언급된 제품에 번들로 묶인 백엔드의 각 매핑 규칙에 자동으로 앞에 추가됩니다.
제품 및 백엔드를 사용하여 룰 매핑의 예
다음 예제에서는 백엔드가 1개인 제품에 대한 매핑 규칙을 보여줍니다.
Echo API 백엔드:
-
프라이빗 엔드 포인트가 있음:
https://echo-api.3scale.net
다음 패턴과 함께 2개의 매핑 규칙이 포함되어 있습니다.
/hello /bye
-
프라이빗 엔드 포인트가 있음:
collectd API 제품:
-
이 공용 엔드 포인트가 있음 :
https://cool.api
-
이 라우팅 경로
/echo
와 함께 Echo API 백엔드를 사용합니다.
-
이 공용 엔드 포인트가 있음 :
다음 패턴을 사용한 매핑 규칙은 자동으로 API 제품의 일부입니다.
/echo/hello /echo/bye
이제 동일한 Echo API 백엔드를 사용하는 Tools For Devs 라는 추가 제품을 고려해 보십시오.
Devs용 툴:
-
이 공용 엔드 포인트가 있음 :
https://dev-tools.api
-
다음과 같은 라우팅 경로와 함께 Echo API 백엔드를 사용합니다.
/tellmeback
.
-
이 공용 엔드 포인트가 있음 :
다음 패턴을 사용하여 룰 매핑은 자동으로 Tools For Devs 제품의 일부입니다.
/tellmeback/hello /tellmeback/bye
/ping
패턴과 함께 매핑 규칙을 Echo API 백엔드에 추가하면 두 제품(API 및 Tools for Devs)이 모두 영향을 받습니다.-
cool API 에는 이 패턴
/echo/ping
과 매핑 규칙이 있습니다. -
Devs용 도구 에는 이 패턴이 있는 매핑 규칙이 있습니다.
/tellmeback/ping
.
-
cool API 에는 이 패턴
매핑 규칙 일치
3scale은 접두사를 기반으로 매핑 규칙을 적용합니다. 표기법은 OpenAPI 및 ActiveDocs 사양을 따릅니다.
-
매핑 규칙은 슬래시(
/
)로 시작해야 합니다. 리터럴 문자열(예:
/hello
)을 통해 경로에서 일치하는 작업을 수행합니다.- 매핑 규칙은 저장되면 각 매핑 규칙에 대해 정의한 지표 또는 메서드를 설정하고 호출한 URL 문자열에 대한 요청이 발생합니다.
-
매핑 규칙은 쿼리 문자열 또는 본문에 매개 변수를 포함할 수 있습니다(예:
/{word}?value={value}
). APIcast는 다음과 같은 방식으로 매개변수를 가져옵니다.
-
GET
메서드: 쿼리 문자열에서 다음을 수행합니다. -
POST
,DELETE
또는PUT
메서드: 본문에서.
-
-
매핑 규칙은 이름이 지정된 와일드카드(예:
/{word}
)를 포함할 수 있습니다. 이 규칙은 자리 표시자{word}
의 모든 내용과 일치하므로/morning과 같은 요청이 매핑 규칙과 일치합니다
. 슬래시 간에 또는 슬래시와 점 사이에 와일드카드가 표시될 수 있습니다. 매개 변수에는 와일드카드가 포함될 수도 있습니다. -
기본적으로 모든 매핑 규칙은 지정한 정렬 순서에 따라 처음부터 마지막까지 평가됩니다. 규칙
/v1
을 추가하면 경로가 /v11/word 또는
로 시작되는 요청과 일치합니다./v
1/ -
패턴 끝에 달러 기호
($
)를 추가하여 정확한 일치를 지정할 수 있습니다. 예를 들어/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는 나머지 매핑 규칙 처리를 중지하고 지표 증가를 중지합니다.