Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
In questa guida si usa il filtro dell'intervallo di tempo per abilitare una funzionalità in base a una pianificazione per un'applicazione Web Go Gin.
L'esempio usato in questo articolo si basa sull'applicazione Web Go Gin introdotta nella guida introduttiva alla gestione delle funzionalità. Prima di continuare, completare la guida introduttiva per creare un'applicazione Web Go Gin con un flag di funzionalità Beta. Al termine, è necessario aggiungere un filtro di intervallo di tempo al flag di funzionalità Beta nell'archivio di Configurazione app.
Prerequisites
- Creare un'applicazione Web Go Gin con un flag di funzionalità.
- Aggiungere un filtro intervallo di tempo al flag di funzionalità
Usare il filtro di intervallo di tempo
È stato aggiunto un filtro di intervallo di tempo per il flag di funzionalità Beta nei prerequisiti. Successivamente, verrà usato il flag di funzionalità con il filtro dell'intervallo di tempo nell'applicazione Web Go Gin.
Quando si crea una gestione funzionalità, i filtri di funzionalità predefiniti vengono aggiunti automaticamente alla relativa raccolta di filtri delle funzionalità
Il codice esistente dal quickstart gestisce già i filtri dell'intervallo di tempo tramite il gestore delle funzionalità:
// 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)
}
La valutazione delle funzionalità nel middleware rispetterà ora il filtro dell'intervallo di tempo:
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()
}
}
Filtro di intervallo di tempo in azione
Riavviare l'applicazione. Se l'ora corrente è precedente all'ora di inizio impostata per il filtro di intervallo di tempo, la voce di menu Beta non verrà visualizzata sulla barra degli strumenti. Ciò è dovuto al fatto che il flag di funzionalità Beta è disabilitato dal filtro di intervallo di tempo.
Quando l'ora di inizio è passata, aggiornare il browser alcune volte. Si noterà che viene visualizzata la voce di menu Beta. Ciò è dovuto al fatto che il flag di funzionalità Beta è ora abilitato dal filtro di intervallo di tempo.
Next steps
Per altre informazioni sui filtri delle funzionalità, continuare con i documenti seguenti.
Per il rundown completo delle funzionalità della libreria di gestione delle funzionalità Go, continuare con il documento seguente.