次の方法で共有


機能フィルターを使用して条件付き機能を有効にする

機能フラグを使用すると、アプリケーションの機能をアクティブ化または非アクティブ化することができます。 単純な機能フラグは、オンまたはオフのいずれかです。 アプリケーションは常に同じように動作します。 たとえば、機能フラグを使用して新しい機能をロールアウトします。 機能フラグを有効にすると、すべてのユーザーに新しい機能が表示されます。 機能フラグを無効にすると、新しい機能は表示されなくなります。

これに対し、"条件付き機能フラグ" を使用すると、機能フラグを動的に有効または無効にすることができます。 機能フラグの条件によっては、アプリケーションの動作が異なる場合があります。 最初に、ユーザーの小さなサブセットに新しい機能を表示するとします。 条件付き機能フラグを使用すると、一部のユーザーに対しては機能フラグを有効にし、他のユーザーに対しては無効にすることができます。

機能フィルターとは

機能フィルターは、機能フラグの状態を判断するための条件です。 機能フラグに機能フィルターを追加すると、機能フラグが評価されるたびにカスタム コードを呼び出すことができます。

Microsoft 機能管理ライブラリには、Azure App Configuration ポータルから構成できる次の組み込み機能フィルターが含まれています。

  • 時間枠フィルターは、指定した時間帯に機能フラグを有効化します。
  • ターゲット フィルターは、指定したユーザーとグループに対して機能フラグを有効化します。

コード内の特定の条件に基づいて機能を有効にするカスタム機能フィルターを作成できます。 この記事では、機能フラグにカスタム機能フィルターを追加する方法について説明します。 後で、「次の手順」セクションの手順に従って、アプリケーションに機能フィルターを実装できます。

カスタム機能フィルターを追加する

  1. App Configuration ストアに Beta という名前の機能フラグを作成し、編集するために開きます。 機能フラグを追加および編集する方法の詳細については、機能フラグの管理に関する記事を参照してください。

  2. 開いた [機能フラグの編集] ペインで、[機能フラグを有効にする] チェックボックスがまだオンになっていない場合はオンにします。 次に、[機能フィルターを使用する] チェックボックスをオンにし、[作成] を選択します。

    [機能フラグの編集] フォームへの入力が示されている Azure portal のスクリーンショット。

  3. [新しいフィルターの作成] ペインが開きます。 [フィルターの種類][カスタム フィルター] 選択し、カスタム フィルターの名前として Random を入力します。

    新しいカスタム フィルターの作成を示す Azure portal のスクリーンショット。

  4. 機能フィルターでは、必要に応じて、構成可能な条件のパラメーターを使用できます。 この例では、Percentage パラメーターを使用し、その値を 50 に設定します。これにより、機能フラグを 50% の確率で有効にするようにフィルターが設定されます。

    カスタム フィルター用のパラメーターの追加を示す Azure portal のスクリーンショット。

  5. [追加] を選択して新しい機能フィルターを保存し、[機能フラグの編集] 画面に戻ります。

  6. 機能フィルターが、機能フラグの詳細に表示されるようになります。 [適用] を選択して機能フラグを保存します。

    カスタム フィルターの適用を示す Azure portal のスクリーンショット。

    機能フラグにカスタム フィルターが正常に追加されました。

  7. 次の手順に進み、使用している言語またはプラットフォームの機能フィルターをアプリケーションに実装します。

次のステップ

組み込みの機能フィルターについてさらに学ぶには、次のドキュメントに進んでください: