Verwenden von Featurefiltern, um bedingte Featureflags zu aktivieren

Featureflags ermöglichen das Aktivieren oder Deaktivieren von Funktionen in Ihrer Anwendung. Ein einfaches Featureflag ist entweder aktiviert oder deaktiviert. Die Anwendung verhält sich immer gleich. Ein Beispiel: Sie können ein neues Feature hinter einem Featureflag einführen. Ist das Featureflag aktiviert, steht das neue Feature allen Benutzern zur Verfügung. Wenn Sie das Featureflag deaktivieren, wird das neue Feature ausgeblendet.

Im Gegensatz dazu kann ein bedingtes Featureflag dynamisch aktiviert oder deaktiviert werden. Die Kriterien des Featureflags wirken sich unter Umständen auf das Verhalten der Anwendung aus. Angenommen, Sie möchten Ihr neues Feature zunächst nur einer kleinen Teilmenge von Benutzern präsentieren. Mit einem bedingten Featureflag können Sie das Featureflag für einige Benutzer aktivieren und für andere deaktivieren. Featurefilter ermitteln bei jeder Auswertung den Zustand des Featureflags.

Die Microsoft.FeatureManagement-Bibliothek enthält die folgenden integrierten Featurefilter, auf die über das Azure App-Konfigurationsportal zugegriffen werden kann.

  • Der Zeitfensterfilter aktiviert das Featureflag während eines bestimmten Zeitfensters.
  • Der Zielfilter aktiviert das Featureflag für bestimmte Benutzer und Gruppen.

Sie können auch einen eigenen Featurefilter erstellen, der die Microsoft.FeatureManagement.IFeatureFilter-Schnittstelle implementiert. Weitere Informationen finden Sie unter Implementieren eines Featurefilters.

Voraussetzungen

Registrieren eines Featurefilters

Wenn Sie über einen benutzerdefinierten Featurefilter verfügen, können Sie ihn registrieren, indem Sie die AddFeatureFilter-Methode aufrufen.

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

Ab Version 3.0.0 von Microsoft.FeatureManagement werden die folgenden integrierten Filter automatisch im Rahmen des AddFeatureManagement Aufrufs registriert, sodass Sie sie nicht registrieren müssen.

  • TimeWindowFilter
  • ContextualTargetingFilter
  • PercentageFilter

Tipp

Weitere Informationen zur Verwendung von TargetingFilter finden Sie unter Aktivieren des mehrstufigen Rollouts von Features für Zielgruppen.

Hinzufügen eines Featurefilters zu einer Feature-Flag

In diesem Abschnitt erfahren Sie, wie Sie dem Feature-Flag Beta, das Sie im Schnellstart erstellt haben, einen Featurefilter hinzufügen. Die folgenden Schritte verwenden die integrierte TimeWindowFilter als Beispiel.

  1. Wechseln Sie im Azure-Portal zu Ihrem Konfigurationsspeicher, und wählen Sie Feature-Manager aus.

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

  2. Wählen Sie in der Zeile mit dem Featureflag Beta, das Sie im Rahmen der Schnellstartanleitung erstellt haben, das Kontextmenü und anschließend Bearbeiten aus.

  3. Aktivieren Sie im Bereich Featureflag bearbeiten, der daraufhin geöffnet wird, das Kontrollkästchen Featureflag aktivieren, sofern es nicht bereits aktiviert ist. Aktivieren Sie dann das Kontrollkästchen Featurefilter verwenden, und wählen Sie Erstellen aus.

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

  4. Der Bereich Neuen Filter erstellen wird geöffnet. Wählen Sie unter FiltertypZeitfensterfilter aus.

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

  5. Legen Sie das Startdatum auf Benutzerdefiniert fest und wählen Sie eine Uhrzeit ein paar Minuten vor der aktuellen Uhrzeit aus. Festlegen des Ablaufdatums auf Nie

  6. Wählen Sie Hinzufügen aus, um den neuen Featurefilter zu speichern, und kehren Sie zum Bildschirm Featureflag bearbeiten zurück.

  7. Der von Ihnen erstellte Featurefilter wird jetzt in den Featureflagdetails aufgeführt. Wählen Sie Übernehmen aus, um die neuen Featureflageinstellungen zu speichern.

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

  8. Auf der Seite Feature-Manager verfügt das Featureflag nun über den Featurefilter-Wert 1.

    Screenshot of the Azure portal, displaying updated feature flag.

Featurefilter in Aktion

Starten Sie die Anwendung neu, die Sie in der Schnellstartanleitung erstellt haben. Wenn Ihre aktuelle Uhrzeit vor der für den Zeitfensterfilter festgelegten Startzeit liegt, wird das Menüelement Beta nicht auf der Symbolleiste angezeigt. Dies liegt daran, dass die Beta-Featurekennzeichnung durch den Zeitfensterfilter deaktiviert ist.

Sobald die Startzeit abgelaufen ist, aktualisieren Sie Ihren Browser ein paar Mal. Sie werden feststellen, dass das Menüelement Beta jetzt angezeigt wird. Dies liegt daran, dass das Feature-Flag Beta jetzt durch den Zeitfensterfilter aktiviert ist.

Nächste Schritte