Delen via


Functies inschakelen volgens een planning in een Go Gin-webtoepassing

In deze handleiding gebruikt u het tijdvensterfilter om een functie in te schakelen volgens een planning voor een Go Gin-webtoepassing.

Het voorbeeld dat in dit artikel wordt gebruikt, is gebaseerd op de Go Gin-webtoepassing die is geïntroduceerd in de quickstart voor functiebeheer. Voordat u verdergaat, voltooit u de quickstart om een Go Gin-webtoepassing te maken met een bètafunctievlag . Zodra dit is voltooid, moet u een tijdvensterfilter toevoegen aan de vlag Bèta-functie in uw App Configuration-archief.

Prerequisites

Het tijdvensterfilter gebruiken

U hebt een tijdvensterfilter toegevoegd voor de bètafunctie-vlag in de vereisten. Vervolgens gebruikt u de functievlag met het tijdvensterfilter in uw Go Gin-webtoepassing.

Wanneer u een functiebeheer maakt, worden de ingebouwde functiefilters automatisch toegevoegd aan de functiefilterverzameling

De bestaande code uit de quickstart verwerkt al tijdvensterfilters via functiebeheer:

// 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)
}

De functie-evaluatie in uw middleware respecteert nu het tijdvensterfilter:

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()
    }
}

Tijdvensterfilter in actie

Start de toepassing opnieuw. Als de huidige tijd eerder is dan de begintijd die is ingesteld voor het tijdvensterfilter, wordt het menu-item Bèta niet weergegeven op de werkbalk. Dit komt doordat de vlag bètafunctie is uitgeschakeld door het tijdvensterfilter.

Schermopname van Gin-web-app met bètamenu verborgen.

Nadat de begintijd is verstreken, vernieuwt u uw browser een paar keer. U ziet dat het menu-item Bèta nu wordt weergegeven. Dit komt doordat de vlag bètafunctie nu is ingeschakeld door het tijdvensterfilter.

Schermopname van Gin-web-app met bètamenu.

Next steps

Ga naar de volgende documenten voor meer informatie over de functiefilters.

Ga naar het volgende document voor het volledige overzicht van de functies van de bibliotheek voor functiebeheer in Go.