ターゲティングルールおよびフィルター

This product is not supported for your selected Datadog site. ().

概要

ターゲティングルールは、どの対象にどのバリアントを提供するかを定義します。各ルールには、フィルター、1 つ以上のバリアント、およびオプションのパーセンテージロールアウトを含めることができます。ルールは、一致するものが見つかるまで順番に評価されます。

ターゲティングルールのタイプ

Datadog は、ロールアウト戦略に応じて異なるターゲティングルールのタイプをサポートしています。

タイプ説明
フィーチャーゲートフィルターに一致する対象の一定割合に対して (ランダム化の有無にかかわらず)、即時または スケジュールされた開始時刻
プログレッシブロールアウト複数のステップを含むスケジュールに沿ってランダム化されたロールアウトを行い、手動または スケジュールされた開始時刻
実験実験 に関連付けられたランダム化された割り当て

ターゲティングルールの設定

フラグのターゲティングルールを設定するには、

  1. Feature Flags に移動し、フラグを選択します。
  2. ルールを変更する環境を選択します。
  3. Add Targeting Rule をクリックします (または、変更するターゲティングルールをクリックします)。
Feature Flags の [Targeting Rules and Rollouts] セクション。

各ターゲティングルールについて、以下を設定します。

  • ターゲティングルールに名前を付ける: ターゲティングルールが対象とするグループを示す名前を付けます。
  • フィルターを定義する (オプション): フィルターを定義しない場合、そのルールは環境内のすべての対象に一致します。複数のフラグで同じ条件を再利用するには、各フラグで条件を再定義する代わりに、保存済みフィルター を追加します。
  • バリアントを選択: 一致する対象に提供するバリアントを選択します。Split Trafficをクリックして、複数のバリアント間でランダム化します (トラフィックスプリッティングとランダム化を参照)。
  • トラフィックの露出を設定 (オプション): 一致する対象の一定割合にバリアントを提供します (トラフィックスプリッティングとランダム化を参照)。
  • 開始時間をスケジュールする (オプション): ルールを即時ではなく、将来の日時に自動的に有効化します (スケジュールされたロールアウトを参照)。
機能フラグの Targeting Rule エディターのサイドパネル。

ターゲティングルールを設定した後、Save をクリックし、環境でフラグを有効にすると、SDK がターゲティングルールを評価できるようになります。評価テスター を使用して、本番データに影響を与えることなく、特定のターゲティングキーと属性に対してルールがどのように評価されるかをシミュレートすることもできます。

環境でフラグが disabled になっているか、overridden されている場合、SDK はターゲティングルールを評価しません。フラグが固定バリアントで上書きされている場合、SDK はそのバリアントを返します。フラグが無効になっている場合、SDK はコード化されたデフォルトのバリアントを返します。

フィルターと評価コンテキスト

フィルターは、SDK の 評価コンテキスト の属性を使用します。フラグを評価する前に評価コンテキストを設定する際、属性を定義します。属性はフラットなプリミティブ値 (文字列、数値、ブール値) である必要があります。ネストされたオブジェクトや配列はサポートされていません。

フィルターを作成する際、属性フィールドには、組織がすでに定義している属性や、SDK が最近送信した属性が候補として表示されます。データ型を指定して再利用可能な属性を定義するには、ターゲット属性 を参照してください。データ型によって、その属性で使用可能な演算子も決まります。

country、tier、user_role、account_age_daysの属性を持つ評価コンテキストがある場合、等価性、is one of、is not、または数値比較など、さまざまな演算子を使用してフィルターを作成できます。

  • country is one of US、CA
  • tier equals premium
  • user_role is not guest
  • account_age_days greater than 90

ルール階層

ターゲティングルールは、上から順に評価されます。

  1. SDK は最初のルールを評価します。対象がフィルターに一致する場合 (またはフィルターが定義されていない場合)、そのルールによってバリアントが提供される可能性があります。
  2. 対象が一致しない場合、評価は次のルールに引き継がれます。
  3. 一致するルールがない場合、SDK はその環境のデフォルトバリアントを提供します。

参考資料