1.2. マッピングルール
API に対するリクエストに応じて、マッピングルールにより報告するメトリクスまたはメソッドを定義します。マッピングルールの例を以下に示します。
このルールは、/
で始まるすべての GET
リクエストがメトリクス hits
のカウントを 1 つ増やす、という意味です。このルールは API に対するすべてのリクエストにマッチします。ただし、このルールは一般的すぎるので、通常は変更されます。そうしないと、より具体的なルールが追加された時に、2 倍にカウントされることになります。
より具体的な Echo API ルールの例を以下に示します。
1.2.1. プロダクトおよびバックエンドにおけるマッピングルール
マッピングルールは、API プロダクトレベルおよび API バックエンドレベルで機能します。本セクションでは、各レベルにおけるマッピングルールの動作を説明すると共に、マッピングルールが機能する仕組みを例を用いて説明します。
プロダクトレベルでのマッピングルール
- このマッピングルールは、バックエンドレベルのマッピングルールに優先します。つまり、プロダクトレベルのマッピングルールが先に評価されます。
- どのバックエンドがリダイレクトされたトラフィックを受信するかにかかわらず、このマッピングルールは常に評価されます。
バックエンドレベルでのマッピングルール
- バックエンドにマッピングルールを追加すると、それらのマッピングルールはそのバックエンドと結び付くすべてのプロダクトに追加されます。
- このマッピングルールは、プロダクトレベルで定義されたマッピングルールの後に評価されます。
- このマッピングルールは、マッピングルールが設定されたバックエンドにトラフィックがリダイレクトされた場合にのみ評価されます。
- プロダクトに結び付けられるバックエンドのパスが、バックエンドの各マッピングルールの前に自動的に追加されます。
プロダクトレベルおよびバックエンドレベルのマッピングルールの例
この例では、バックエンドから説明を始め、続いてプロダクトに移ります。
Echo API バックエンド:
-
プライベートエンドポイント:
https://echo-api.3scale.net
- 以下のパターンの 2 つのマッピングルールが含まれる
-
プライベートエンドポイント:
/hello /bye
Cool API プロダクト:
-
公開エンドポイント:
https://cool.api
-
ルーティングパス
/echo
により Echo API バックエンドを使用する
-
公開エンドポイント:
- Cool API プロダクトには、自動的に以下のパターンのマッピングルールが含まれます。
/echo/hello /echo/bye
-
これは、公開 URL
https://cool.api/echo/hello
に送信されたリクエストが、https://echo-api.3scale.net/hello
にリダイレクトされることを意味します。 -
同様に、
https://cool.api/echo/bye
に送信されたリクエストは、https://echo-api.3scale.net/bye
にリダイレクトされます。
ここで、同じ Echo API バックエンドを使用する Tools For Devs というプロダクトを追加することを考えてみます。
Tools For Devs プロダクト:
-
公開エンドポイント:
https://dev-tools.api
-
ルーティングパス
/tellmeback
により Echo API バックエンドを使用する
-
公開エンドポイント:
Tools For Devs プロダクトには、自動的に以下のパターンのマッピングルールが含まれます。
/tellmeback/hello /tellmeback/bye
-
したがって、公開 URL
https://dev-tools.api/tellmeback/hello
に送信されたリクエストは、https://echo-api.3scale.net/hello
にリダイレクトされます。 -
同様に、
https://dev-tools.api/tellmeback/bye
に送信されたリクエストは、https://echo-api.3scale.net/bye
にリダイレクトされます。
-
したがって、公開 URL
パターン
/ping
のマッピングルールを Echo API バックエンドに追加すると、Cool API プロダクトおよび Tools For Devs プロダクトの両方に変更が加えられます。-
Cool API には、
/echo/ping
というパターンのマッピングルールが含まれます。 -
Tools For Devs には、
/tellmeback/ping
というパターンのマッピングルールが含まれます。
-
Cool API には、