Compartilhar via


Habilitar recursos em um agendamento em um aplicativo Web Go Gin

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

O exemplo usado neste artigo baseia-se no aplicativo Web Go Gin introduzido no início rápido do gerenciamento de recursos. Antes de continuar, conclua o guia de início rápido para criar um aplicativo Web Go Gin com um sinalizador de recursos Beta. Depois de concluído, você precisa adicionar um filtro da janela de tempo ao sinalizador de recurso Beta no repositório de Configuração de Aplicativos.

Prerequisites

Use o filtro de janela de tempo

Você adicionou um filtro de janela de tempo para o sinalizador de recurso Beta nos pré-requisitos. Em seguida, você usará o sinalizador de recursos 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 à coleção de filtros de recursos

O código existente do início rápido já manipula filtros de janela de tempo por meio do gerenciador de recursos:

// 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 do recurso em seu middleware agora respeitará o filtro da 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 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 do recurso Beta está desabilitado pelo filtro da janela de tempo.

Captura de tela do aplicativo Web Gin com o menu Beta oculto.

Depois que a hora de início tiver passado, atualize o navegador algumas vezes. Você notará que o item de menu Beta aparece agora. Isso ocorre porque o sinalizador de recurso Beta agora está habilitado pelo filtro da janela de tempo.

Captura de tela do aplicativo Web Gin com o menu Beta.

Next steps

Para saber mais sobre os filtros de recursos, confira os documentos a seguir.

Para o resumo completo das funcionalidades da biblioteca de gerenciamento de funcionalidades Go, continue para o próximo documento.