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 には、