Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Флаги компонентов могут использовать фильтры компонентов для условного включения функций. Дополнительные сведения о фильтрах функций см. в статье "Включение условных функций" с помощью фильтров компонентов.
Пример, используемый в этом руководстве, основан на приложении Node.js, представленном в кратком руководстве по управлению функциями. Прежде чем продолжить, выполните краткое руководство по созданию приложения Node.js с флагом бета-функции . После завершения необходимо добавить пользовательский фильтр компонентов в флаг бета-функции в хранилище конфигурации приложений.
Из этой статьи вы узнаете, как реализовать пользовательский фильтр функций и использовать фильтр компонентов для условного включения функций. Мы используем консольное приложение Node.js в качестве примера, но вы также можете использовать пользовательский фильтр компонентов в других приложениях JavaScript.
Необходимые компоненты
- Создайте консольное приложение с флагом компонента.
- Добавление настраиваемого фильтра компонентов в флаг компонента
Реализация настраиваемого фильтра компонентов
Вы добавили пользовательский фильтр функций с именем Random с параметром "Процент " для флага бета-функции в предварительных требованиях. Затем вы реализуете фильтр компонентов, чтобы включить флаг бета-функции на основе вероятности, определенной параметром Percentage .
Откройте файл app.js и в
RandomFilterдобавьте следующий код.class RandomFilter { name = "Random"; evaluate(context) { const percentage = context.parameters.Percentage; const randomNumber = Math.random() * 100; return randomNumber <= percentage; } }Вы добавили
RandomFilterкласс с одним именем методаevaluate, который вызывается при оценке флага компонента. Вevaluateфильтре функций флаг компонента включается возвращаемыйtrueфлаг компонента.Вы задали имя
RandomFilterна Случайный, что соответствует имени фильтра, который вы задали во флаге функции Beta в конфигурации приложений Azure.RandomFilterЗарегистрируйтесь при созданииFeatureManager.const fm = new FeatureManager( new ConfigurationMapFeatureFlagProvider(appConfig), { customFilters: [new RandomFilter()] });
Фильтр компонентов в действии
При запуске приложения поставщик конфигурации загрузит флаг бета-функции из конфигурации приложений Azure. Результат isEnabled("Beta") метода будет напечатан в консоли.
RandomFilter По мере реализации и использования флагом бета-функции результат будет составлять True 50 процентов времени, а False остальные 50 процентов времени.
При запуске приложения показано, что флаг бета-функции иногда включен, а иногда и нет.
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
Следующие шаги
Дополнительные сведения о встроенных фильтрах функций см. в следующих документах.
Для полного запуска функции библиотеки функций JavaScript перейдите к следующему документу.