JavaScript アプリケーションでカスタム フィルターを使用して条件付き機能を有効にする
機能フラグでは、機能フィルターを使用して、機能を条件に応じて有効にすることができます。 機能フィルターの詳細については、「機能フィルターを使用して条件付き機能を有効にする」を参照してください。
このガイドで使用する例は、機能管理に関するクイックスタートで紹介した Node.js アプリケーションに基づいています。 先に進む前に、このクイックスタートを行って、"ベータ版" の機能フラグを設定した Node.js アプリケーションを作成します。 完了したら、App Configuration ストア内の Beta 機能フラグにカスタム機能フィルターを追加する必要があります。
この記事では、カスタム機能フィルターを実装し、機能フィルターを使用して機能を条件付きで有効にする方法について説明します。 Node.js コンソール アプリを例として使用していますが、他の JavaScript アプリケーションでカスタム機能フィルターを使用することもできます。
前提条件
カスタム機能フィルターを実装する
前提条件で Beta 機能フラグに対して Random という名前のカスタム機能フィルターと Percentage パラメーターを追加しました。 次に、機能フィルターを実装して、Percentage パラメーターで定義される確率に基づいて Beta 機能フラグを有効にします。
ファイル app.js を開き、次のコードで
RandomFilter
を追加します。class RandomFilter { name = "Random"; evaluate(context) { const percentage = context.parameters.Percentage; const randomNumber = Math.random() * 100; return randomNumber <= percentage; } }
機能フラグが評価されるたびに呼び出される
evaluate
という名前の 1 つのメソッドがあるRandomFilter
クラスを追加しました。evaluate
では、機能フィルターはtrue
を返すことで機能フラグを有効にします。RandomFilter
の名前を Randomに設定します。これは、Azure App Configuration の "ベータ" 機能フラグで設定したフィルター名と一致します。FeatureManager
の作成時にRandomFilter
を登録します。const fm = new FeatureManager(ffProvider, {customFilters: [new RandomFilter()]});
機能フィルターの動作
アプリケーションを実行すると、構成プロバイダーによって Azure App Configuration から Beta 機能フラグが読み込まれます。 isEnabled("Beta")
メソッドの結果はコンソールに出力されます。 RandomFilter
が Beta 機能フラグによって実装されて使用されるため、結果は 50% の確率で True
となり、残りの 50% の確率で False
となります。
アプリケーションを実行すると、Beta 機能フラグが有効になっている場合と無効になっている場合があることが分かります。
Beta is enabled: true
Beta is enabled: false
Beta is enabled: false
Beta is enabled: true
Beta is enabled: true
Beta is enabled: false
Beta is enabled: false
Beta is enabled: false
Beta is enabled: true
Beta is enabled: true
次のステップ
組み込みの機能フィルターについてさらに学ぶには、次のドキュメントに進んでください。