Teilen über


Aktivieren von Features in einem Zeitplan in einer Go Gin-Webanwendung

In diesem Leitfaden verwenden Sie den Zeitfensterfilter, um ein Feature in einem Zeitplan für eine Go Gin-Webanwendung zu aktivieren.

Das in diesem Artikel verwendete Beispiel basiert auf der Go Gin-Webanwendung, die in der Schnellstartanleitung zur Featureverwaltung eingeführt wurde. Bevor Sie fortfahren, führen Sie die Schnellstartanleitung aus, um eine Go Gin-Webanwendung mit einem Beta-Feature-Flag zu erstellen. Nach Abschluss müssen Sie dem Feature-Flag "Beta" im App-Konfigurationsspeicher einen Zeitfensterfilter hinzufügen.

Prerequisites

Verwenden des Zeitfensterfilters

Sie haben in den Voraussetzungen einen Zeitfensterfilter für Ihr Beta-Feature-Flag hinzugefügt. Als Nächstes verwenden Sie das Feature-Flag mit dem Zeitfensterfilter in Ihrer Go Gin-Webanwendung.

Wenn Sie einen Feature-Manager erstellen, werden die integrierten Featurefilter automatisch der Featurefiltersammlung hinzugefügt.

Der vorhandene Code aus der Schnellstartanleitung behandelt bereits Zeitfensterfilter über den Feature-Manager:

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

Die Featureauswertung in Ihrer Middleware berücksichtigt nun den Zeitfensterfilter:

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

Zeitfensterfilter in Aktion

Starten Sie die Anwendung neu. Wenn Ihre aktuelle Uhrzeit vor der für den Zeitfensterfilter festgelegten Startzeit liegt, wird das Menüelement Beta nicht auf der Symbolleiste angezeigt. Dies liegt daran, dass die Beta-Featurekennzeichnung durch den Zeitfensterfilter deaktiviert ist.

Screenshot der Gin Web App mit ausgeblendetem Beta-Menü.

Sobald die Startzeit abgelaufen ist, aktualisieren Sie Ihren Browser ein paar Mal. Sie werden feststellen, dass das Menüelement Beta jetzt angezeigt wird. Dies liegt daran, dass das Feature-Flag Beta jetzt durch den Zeitfensterfilter aktiviert ist.

Screenshot der Gin Web App mit Betamenü.

Next steps

Wenn Sie mehr über die Featurefilter erfahren möchten, fahren Sie mit den folgenden Dokumenten fort.

Um die vollständige Funktionsübersicht der Go-Feature-Verwaltungsbibliothek zu erhalten, fahren Sie mit dem folgenden Dokument fort.