Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här guiden använder du tidsfönsterfiltret för att aktivera en funktion enligt ett schema för ett Go Gin-webbprogram.
Exemplet som används i den här artikeln baseras på Go Gin-webbappen som introducerades i snabbstarten för funktionshantering. Innan du fortsätter kan du slutföra snabbstarten för att skapa ett Go Gin-webbprogram med en betafunktionsflagga . När du är klar måste du lägga till ett tidsfönsterfilter ibetafunktionsflaggan i appkonfigurationsarkivet.
Prerequisites
- Skapa ett Go Gin-webbprogram med en funktionsflagga.
- Lägga till ett tidsfönsterfilter i funktionsflaggan
Använd tidsfönsterfiltret
Du har lagt till ett tidsfönsterfilter för din Beta-funktionsflagga i förhandskraven. Sedan använder du funktionsflaggan med tidsfönstrets filter i ditt Go Gin-webbprogram.
När du skapar en funktionshanterare läggs de inbyggda funktionsfiltren automatiskt till i dess funktionsfiltersamling
Den befintliga koden från snabbstarten hanterar redan tidsfönsterfilter via funktionshanteraren:
// 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)
}
Funktionsutvärderingen i mellanprogrammet respekterar nu tidsfönstrets filter:
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()
}
}
Tidsfönsterfilter i praktiken
Starta om programmet. Om din aktuella tid är tidigare än den starttid som angetts för tidsfönstrets filter visas inte menyalternativet Beta i verktygsfältet. Det beror på att funktionsflaggan Beta är inaktiverad av tidsfönstrets filter.
När starttiden har passerat uppdaterar du webbläsaren några gånger. Du ser att menyalternativet Beta nu visas. Det beror på att betafunktionsflaggan nu är aktiverad av tidsfönstrets filter.
Next steps
Om du vill veta mer om funktionsfiltren fortsätter du till följande dokument.
För en fullständig funktionsöversikt av Go-biblioteket för funktionshantering, fortsätt till följande dokument.