Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом руководстве вы используете фильтр интервала времени, чтобы включить функцию в расписании для веб-приложения Go Gin.
Пример, используемый в этой статье, основан на веб-приложении Go Gin, представленном в кратком руководстве по управлению функциями. Прежде чем продолжить, выполните краткое руководство по созданию веб-приложения Go Gin с флагом бета-функции . После завершения необходимо добавить фильтр периода времени в флаг бета-функции в хранилище конфигурации приложений.
Prerequisites
- Создайте веб-приложение Go Gin с флагом компонента.
- Добавление фильтра интервала времени в флаг компонента
Использование фильтра временных окон
Вы добавили фильтр периода времени для флага функции бета-версии в предварительных требованиях. Затем вы будете использовать флажок фичи с фильтром временного окна в веб-приложении Go Gin.
При создании диспетчера компонентов встроенные фильтры компонентов автоматически добавляются в коллекцию фильтров компонентов.
Существующий код из краткого руководства уже обрабатывает фильтры по временным интервалам с помощью менеджера функций.
// Create feature flag provider
featureFlagProvider, err := azappconfig.NewFeatureFlagProvider(appConfig)
if err != nil {
log.Fatalf("Error creating feature flag provider: %v", err)
}
// Create feature manager (supports built-in filters including TimeWindowFilter)
featureManager, err := featuremanagement.NewFeatureManager(featureFlagProvider, nil)
if err != nil {
log.Fatalf("Error creating feature manager: %v", err)
}
Оценка функций в вашем ПО промежуточного слоя теперь будет учитывать фильтр временного окна.
func (app *WebApp) featureMiddleware() gin.HandlerFunc {
return func(c *gin.Context) {
// Check if Beta feature is enabled (TimeWindowFilter is automatically evaluated)
betaEnabled, err := app.featureManager.IsEnabled("Beta")
if err != nil {
log.Printf("Error checking Beta feature: %v", err)
}
// Store feature flag status for use in templates
c.Set("betaEnabled", betaEnabled)
c.Next()
}
}
Фильтр временных окон в действии
Повторно запустите приложение. Если текущее время превышает время начала, заданное для фильтра временных окон, на панели инструментов не появится элемент меню бета-версии . Это связано с тем, что флаг бета-функции отключен фильтром временных окон.
После того как время начала прошло, обновите браузер несколько раз. Вы заметите, что теперь появится элемент меню "Бета-версия ". Это связано с тем, что флаг бета-функции теперь включен фильтром временных окон.
Next steps
Дополнительные сведения о фильтрах функций см. в следующих документах.
Для полного обзора функций библиотеки управления Go перейдите к указанному документу.