Partilhar via


Habilitar funcionalidades num cronograma numa aplicação web Go Gin

Neste guia, você usa o filtro de janela de tempo para habilitar um recurso em uma programação para um aplicativo Web Go Gin.

O exemplo usado neste artigo é baseado no aplicativo Web Go Gin introduzido no início rápido de gerenciamento de recursos. Antes de prosseguir, conclua a configuração rápida para criar uma aplicação web Go Gin com uma flag de funcionalidade Beta. Depois de concluído, você deve adicionar um filtro de janela de tempo ao sinalizador de recurso Beta em sua loja de configuração de aplicativos.

Prerequisites

Usar o filtro de janela de tempo

Você adicionou um filtro de intervalo de tempo para o flag de funcionalidade Beta nos pré-requisitos. Em seguida, você usará o sinalizador de recurso com o filtro de janela de tempo em seu aplicativo Web Go Gin.

Quando você cria um gerenciador de recursos, os filtros de recursos internos são adicionados automaticamente à sua coleção de filtros de recursos

O código existente do quickstart já trata dos filtros de janela de tempo através do gestor de funcionalidades.

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

A avaliação de recursos em seu middleware agora respeitará o filtro de janela de 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 de janela de tempo em ação

Reinicie o aplicativo. Se a sua hora atual for anterior à hora de início definida para o filtro da janela de tempo, o item de menu Beta não aparecerá na barra de ferramentas. Isso ocorre porque o sinalizador de recurso Beta está desativado pelo filtro de janela de tempo.

Captura de ecrã da aplicação Web Gin com o menu Beta oculto.

Uma vez passada a hora de início, atualize o navegador algumas vezes. Você notará que o item de menu Beta agora aparece. Isso ocorre porque o sinalizador de recurso Beta agora está ativado pelo filtro de janela de tempo.

Captura de ecrã da aplicação Web Gin com menu Beta.

Next steps

Para saber mais sobre os filtros de recursos, continue para os seguintes documentos.

Para obter o resumo completo dos recursos da biblioteca de gerenciamento de recursos Go, continue para o documento a seguir.