Activer des fonctionnalités conditionnelles avec un filtre personnalisé dans une application JavaScript
Les indicateurs de fonctionnalités peuvent utiliser des filtres de fonctionnalités pour activer des fonctionnalités de manière conditionnelle. Pour en savoir plus sur les filtres de fonctionnalités, consultez Activer des fonctionnalités conditionnelles avec des filtres de fonctionnalités.
L’exemple utilisé dans ce guide repose sur l’application Node.js présentée dans le guide de démarrage rapide sur la gestion des fonctionnalités. Avant de continuer, effectuez ce démarrage rapide pour créer une application Node.js avec un indicateur de fonctionnalité Beta. Une fois terminé, vous devez ajouter un filtre de fonctionnalités personnalisé à l’indicateur de fonctionnalité Beta dans votre magasin App Configuration.
Dans cet article, vous apprenez à implémenter un filtre de fonctionnalités personnalisé et à l’utiliser pour activer les fonctionnalités de manière conditionnelle. Nous utilisons l’application de console Node.js comme exemple, mais vous pouvez également utiliser le filtre de fonctionnalité personnalisé dans d’autres applications JavaScript.
Prérequis
- Créez une application de console avec un indicateur de fonctionnalité.
- Ajouter un filtre de fonctionnalité personnalisé à l’indicateur de fonctionnalité
Implémenter un filtre de fonctionnalité personnalisé
Vous avez ajouté un filtre de fonctionnalités personnalisé nommé Random avec un paramètre Percentage pour votre indicateur de fonctionnalité Beta dans les prérequis. Ensuite, implémentez le filtre de fonctionnalités pour activer l’indicateur de fonctionnalité Beta en fonction de la probabilité définie par le paramètre Percentage.
Ouvrez le fichier app.js et ajoutez le
RandomFilter
avec le code suivant.class RandomFilter { name = "Random"; evaluate(context) { const percentage = context.parameters.Percentage; const randomNumber = Math.random() * 100; return randomNumber <= percentage; } }
Vous avez ajouté une classe
RandomFilter
qui dispose d’une méthode unique nomméeevaluate
qui est appelée lors de chaque évaluation d’un indicateur de fonctionnalité. Dansevaluate
, un filtre de fonctionnalités active un indicateur de fonctionnalité en retournanttrue
.Vous avez défini le nom de
RandomFilter
sur Aléatoire, qui correspond au nom de filtre que vous avez défini dans l’indicateur de fonctionnalité Bêta d’Azure App Configuration.Inscrivez le
RandomFilter
lors de la création duFeatureManager
.const fm = new FeatureManager(ffProvider, {customFilters: [new RandomFilter()]});
Filtre de fonctionnalités en action
Lorsque vous exécutez l’application, le fournisseur de configuration charge l’indicateur de fonctionnalité Beta à partir d’Azure App Configuration. Le résultat de la méthode isEnabled("Beta")
est imprimé dans la console. L’implémentation de RandomFilter
et son utilisation par l’indicateur de fonctionnalité Beta a pour résultat True
50 % du temps et False
le reste du temps.
L’exécution de l’application montre que l’indicateur de fonctionnalité Beta est parfois activé et que d’autres fois il ne l’est pas.
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
Étapes suivantes
Pour en savoir plus sur les filtres de fonctionnalités intégrés, consultez les documents suivants.