기능 필터를 사용하여 조건부 기능 플래그 사용

기능 플래그를 사용하여 애플리케이션의 기능을 활성화하거나 비활성화할 수 있습니다. 간단한 기능 플래그는 설정 또는 해제입니다. 애플리케이션은 항상 동일한 방식으로 동작합니다. 예를 들어 기능 플래그 뒤에 새 기능을 롤아웃할 수 있습니다. 기능 플래그를 사용하도록 설정하면 모든 사용자에게 새 기능이 표시됩니다. 기능 플래그를 사용하지 않도록 설정하면 새 기능이 숨겨집니다.

반면 조건부 기능 플래그를 사용하면 기능 플래그를 동적으로 사용하거나 사용하지 않도록 설정할 수 있습니다. 애플리케이션은 기능 플래그 조건에 따라 다르게 작동할 수 있습니다. 처음에 사용자의 작은 하위 집합에 새 기능을 표시하려는 경우를 가정해 보겠습니다. 조건부 기능 플래그를 사용하면 일부 사용자에 대해서는 기능 플래그를 사용하도록 설정하고 다른 사용자에 대해서는 사용하지 않도록 설정할 수 있습니다. 기능 필터는 평가될 때마다 기능 플래그의 상태를 결정합니다.

라이브러리에는 Microsoft.FeatureManagement Azure 앱 구성 포털에서 액세스할 수 있는 다음과 같은 기본 제공 기능 필터가 포함되어 있습니다.

  • 시간 창 필터 는 지정된 기간 동안 기능 플래그를 사용하도록 설정합니다.
  • 대상 지정 필터 를 사용하면 지정된 사용자 및 그룹에 대한 기능 플래그를 사용할 수 있습니다.

인터페이스를 구현하는 고유한 기능 필터를 Microsoft.FeatureManagement.IFeatureFilter 만들 수도 있습니다. 자세한 내용은 기능 필터 구현을 참조 하세요.

필수 조건

기능 필터 등록

사용자 지정 기능 필터가 있는 경우 메서드를 호출하여 등록할 AddFeatureFilter 수 있습니다.

services.AddFeatureManagement()
        .AddFeatureFilter<MyCriteriaFilter>();

버전 3.0.0 Microsoft.FeatureManagement 부터는 다음 기본 제공 필터가 호출의 AddFeatureManagement 일부로 자동으로 등록되므로 등록할 필요가 없습니다.

  • TimeWindowFilter
  • ContextualTargetingFilter
  • PercentageFilter

사용에 TargetingFilter대한 자세한 내용은 대상 그룹에 대한 기능의 단계적 롤아웃 사용을 참조 하세요.

기능 플래그에 기능 필터 추가

이 섹션에서는 빠른 시작에서 만든 베타 기능 플래그에 기능 필터를 추가하는 방법을 알아봅니다. 다음 단계에서는 기본 제공 TimeWindowFilter 을 예로 사용합니다.

  1. Azure Portal에서 구성 저장소로 이동하고 기능 관리자를 선택합니다.

    Screenshot of the Azure portal, selecting the Edit option for the **Beta** feature flag, under Feature manager.

  2. 빠른 시작에서 만든 베타 기능 플래그가 있는 줄에서 상황에 맞는 메뉴를 선택한 다음 편집합니다.

  3. 기능 플래그 편집 창이 열리면 기능 플래그 사용 확인란이 아직 사용하도록 설정되어 있지 않은 경우 확인란을 선택합니다. 그런 다음 기능 필터 사용 확인란을 선택하고 만들기를 선택합니다.

    Screenshot of the Azure portal, filling out the form 'Edit feature flag'.

  4. 새 필터 만들기 창이 열립니다. 필터 유형에서 시간 창 필터를 선택합니다.

    Screenshot of the Azure portal, creating a new time window filter.

  5. 시작 날짜를 사용자 지정으로 설정하고 현재 시간보다 몇 분 앞서 시간을 선택합니다. 만료 날짜를 Never설정

  6. 추가를 선택하여 새 기능 필터를 저장하고 기능 플래그 편집 화면으로 돌아갑니다.

  7. 이제 만든 기능 필터가 기능 플래그 세부 정보에 나열됩니다. 적용을 선택하여 새 기능 플래그 설정을 저장합니다.

    Screenshot of the Azure portal, applying new time window filter.

  8. 기능 관리자 페이지의 기능 플래그는 이제 1기능 필터 값을 갖게 됩니다.

    Screenshot of the Azure portal, displaying updated feature flag.

작동 중인 기능 필터

빠른 시작에서 만든 애플리케이션을 다시 시작합니다. 현재 시간이 시간 창 필터 에 대해 설정된 시작 시간보다 빠르면 도구 모음에 베타 메뉴 항목이 표시되지 않습니다. 베타 기능 플래그가 시간 창 필터에 의해 비활성화되었기 때문입니다.

시작 시간이 지나면 브라우저를 몇 번 새로 고칩니다. 이제 베타 메뉴 항목이 표시됩니다. 이는 이제 시간 창 필터에서 베타 기능 플래그를 사용하도록 설정했기 때문입니다.

다음 단계