ESA ルール式は、リクエストの特性に基づいてトラフィックに一致させ、異なるポリシーを適用します。このトピックでは、単一および複合ルール式のコンポーネント、演算子の種類、およびグループ化記号の使用方法について説明します。
事前準備
ルールとグローバル設定の両方を使用して機能を設定した場合、受信リクエストを照合する際には、ルールが優先されます。
単一のルール設定 (ルール条件および機能設定を含む) の長さは、最大 4 KB です。
グローバル設定とルールを含むすべての設定情報の合計サイズは、512 KB (セキュリティルールを除く) を超えてはなりません。
ルール名の長さは 1~128 文字です。
単一フィルター条件
単純なビジネスシナリオでは、単一のルール式で十分です。単一のルール式は、一致フィールド、一致演算子、および一致する値で構成されます。コンソールでは、リクエストが以下のルールと一致する場合... 設定エリアがルール式に対応します。デフォルトでは、フィルター条件の設定を容易にするために、 が選択されています。
また、 を選択して、すべてのリクエストに設定を適用することもできます。これはグローバル設定として機能します。

コンソールのグラフィカルコントロールを使用してルール式を作成することも、式ビルダーで直接記述することもできます。
複数フィルター条件
条件の論理結合
ビジネスシナリオが複雑な場合、単一のフィルター条件では不十分なことがあります。このような場合、ESA ルールでは、論理演算子を使用して複数のサブフィルター条件を結合できます。これには、2 つの論理関係が含まれます。
AND 関係:
ボタンをクリックして AND 関係を作成します。たとえば、次の図は、フィルター条件が「ホスト名が www.example.comに等しい」かつ「国/地域が中国本土に等しい」であるルールを示しています。OR 関係:
ボタンをクリックして OR 関係を作成します。たとえば、次の図は、フィルター条件が「ホスト名が www.example.comに等しい」または「ホスト名がblog.example.comに等しい」であるルールを示しています。
単一ルールに設定できるネスト条件の数は、サブスクリプションプランによって異なります。[Enterprise] では最大 20 です。詳細については、「製品の課金」をご参照ください。
ネストロジック
ESA ルールでは、OR 関係内に AND 関係をネストでき、ネストの深さは最大 2 レベルです。ESA ルールエンジンは、グループ化記号を使用して、式にネストされたロジックを作成します。また、式ビルダーで複雑なネスト式を直接記述することもできます。たとえば、次のフィルター条件を組み合わせることができます。
ホスト名が
www.example.comに等しいリクエスト。または、ホスト名が
blog.example.comに等しく、国/地域が中国本土ではないリクエスト。または、ホスト名が
login.example.comに等しいリクエスト。
追加の関数
ルール式では、関数を使用して値を操作および検証することもできます。
式ビルダー
グラフィカルな方法に加えて、ESA は、コードを使用してルール式を設定するための式ビルダーも提供しています。
式生成プレビュー
グラフィカルコントロールを使用してルール式を設定すると、ESA が同等のコード式を自動的に生成します。

単一の式は次の形式です:
Single expression = (<match field> <match operator> <match value>), for example, ( http.host eq "www.example.com" )
ネスト式は次の形式です:
Nested expression = (<single expression 1> <logical operator> <single expression 2>), for example, ( http.host eq "www.example.com" or http.host eq "blog.example.com" )
式の編集
式を編集 をクリックして、ルール式を直接編集します。各コンポーネントで使用できる種類については、照合フィールド、照合演算子、および照合値をご参照ください。