1.2. マッピングルール

API に対するリクエストに応じて、マッピングルールにより報告するメトリクスまたはメソッドを定義します。マッピングルールの例を以下に示します。

Mapping Rules

このルールは、/ で始まるすべての GET リクエストがメトリクス hits のカウントを 1 つ増やす、という意味です。このルールは API に対するすべてのリクエストにマッチします。ただし、このルールは一般的すぎるので、通常は変更されます。そうしないと、より具体的なルールが追加された時に、2 倍にカウントされることになります。

より具体的な Echo API ルールの例を以下に示します。

Hello World Mapping Rules

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

ここで、同じ Echo API バックエンドを使用する Tools For Devs というプロダクトを追加することを考えてみます。

  • Tools For Devs プロダクト:

    • 公開エンドポイント: https://dev-tools.api
    • ルーティングパス /tellmeback により Echo API バックエンドを使用する
  • Tools For Devs プロダクトには、自動的に以下のパターンのマッピングルールが含まれます。

    /tellmeback/hello
    /tellmeback/bye
  • パターン /ping のマッピングルールを Echo API バックエンドに追加すると、Cool API プロダクトおよび Tools For Devs プロダクトの両方に変更が加えられます。

    • Cool API には、/echo/ping というパターンのマッピングルールが含まれます。
    • Tools For Devs には、/tellmeback/ping というパターンのマッピングルールが含まれます。