Compartir vía


Habilitación de características según una programación en una aplicación web de Go Gin

En esta guía, usará el filtro de ventana de tiempo para habilitar una característica según una programación para una aplicación web de Go Gin.

El ejemplo usado en este artículo se basa en la aplicación web Go Gin presentada en el inicio rápido de gestión de características. Antes de continuar, complete el inicio rápido para crear una aplicación web Go Gin con una marca de característica Beta . Una vez que lo haya completado, incorpore un filtro de período de tiempo a la marca de característica Beta en el almacén de App Configuration.

Prerequisites

Uso del filtro de período de tiempo

Ha agregado un filtro de ventana de tiempo a la marca de la característica Beta en los requisitos previos. A continuación, usará la marca de características con el filtro de ventana de tiempo en la aplicación web Go Gin.

Al crear un administrador de características, los filtros de características integrados se agregan automáticamente a su colección de filtros de características.

El código existente del inicio rápido ya controla los filtros de período de tiempo a través del administrador de características:

// 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 evaluación de características en el middleware ahora respetará el filtro de período de tiempo:

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 de período de tiempo en acción

Vuelva a iniciar la aplicación. Si la hora actual es anterior a la hora de inicio establecida para el filtro de período de tiempo, el elemento de menú Beta no aparecerá en la barra de herramientas. Esto se debe a que el filtro de período de tiempo deshabilita la marca de característica Beta.

Captura de pantalla de la aplicación web Gin con el menú Beta oculto.

Una vez que haya transcurrido la hora de inicio, actualice el explorador varias veces. Observará que ahora aparece el elemento de menú Beta. Esto se debe a que el filtro de período de tiempo ahora habilita la marca de característica Beta.

Captura de pantalla de la aplicación web Gin con el menú Beta.

Next steps

Para obtener más información sobre los filtros de características, continúe con los siguientes documentos.

Para obtener la lista completa de características de la biblioteca de administración de características de Go, continúe con el siguiente documento.