Freigeben über


Schnellstart: Hinzufügen von Featureflags zu einer Node.js-Konsolen-App

In diesem Schnellstart integrieren Sie Azure App Configuration in eine Node.js-Konsolen-App, um eine End-to-End-Implementierung der Featureverwaltung zu erzielen. Mit App Configuration können Sie alle Featureflags zentral speichern und ihren jeweiligen Zustand steuern.

Die JavaScript-Bibliotheken für die Featureverwaltung erweitern das Framework um Unterstützung für Featureflags. Über ihren JavaScript-Konfigurationsanbieter lassen sie sich nahtlos in App Configuration integrieren. Als Beispiel wird in diesem Tutorial gezeigt, wie Sie die JavaScript-Featureverwaltung in einer Node.js-App verwenden.

Voraussetzungen

Hinzufügen eines Featureflags

Fügen Sie dem App Configuration-Speicher ein Featureflag mit dem Namen Beta hinzu, und behalten Sie die Standardwerte für Bezeichnung und Beschreibung bei. Weitere Informationen zum Hinzufügen von Featureflags zu einem Speicher mithilfe des Azure-Portals oder der CLI finden Sie unter Erstellen eines Featureflags.

Aktivieren eines Featureflags namens„Beta“

Verwenden des Featureflags

  1. Installieren Sie die Featureverwaltung mithilfe des Befehls npm install.

    npm install @microsoft/feature-management
    
  2. Erstellen Sie eine Datei namens app.js, und fügen Sie den folgenden Code hinzu.

    const sleepInMs = require("util").promisify(setTimeout);
    const { load } = require("@azure/app-configuration-provider");
    const { FeatureManager, ConfigurationMapFeatureFlagProvider} = require("@microsoft/feature-management")
    const connectionString = process.env.AZURE_APPCONFIG_CONNECTION_STRING;
    
    async function run() {
        // Connect to Azure App Configuration using connection string
        const settings = await load(connectionString, {
            featureFlagOptions: {
                enabled: true,
                // Note: selectors must be explicitly provided for feature flags.
                selectors: [{
                    keyFilter: "*"
                }],
                refresh: {
                    enabled: true,
                    refreshIntervalInMs: 10_000
                }
            }
        });
    
        // Create a feature flag provider which uses a map as feature flag source
        const ffProvider = new ConfigurationMapFeatureFlagProvider(settings);
        // Create a feature manager which will evaluate the feature flag
        const fm = new FeatureManager(ffProvider);
    
        while (true) {
            await settings.refresh(); // Refresh to get the latest feature flag settings
            const isEnabled = await fm.isEnabled("Beta"); // Evaluate the feature flag
            console.log(`Beta is enabled: ${isEnabled}`);
            await sleepInMs(5000);
        }
    }
    
    run().catch(console.error);
    

Ausführen der Anwendung

  1. Legen Sie eine Umgebungsvariable mit dem Namen AZURE_APPCONFIG_CONNECTION_STRING auf die Verbindungszeichenfolge für Ihren App Configuration-Speicher fest. Führen Sie an der Befehlszeile den folgenden Befehl aus:

    Um die App mithilfe der Windows-Eingabeaufforderung lokal auszuführen, führen Sie den folgenden Befehl aus, und ersetzen Sie dabei <app-configuration-store-connection-string> durch die Verbindungszeichenfolge Ihres App-Konfigurationsspeichers:

    setx AZURE_APPCONFIG_CONNECTION_STRING "<app-configuration-store-connection-string>"
    
  2. Führen Sie den folgenden Befehl aus, um die App lokal auszuführen:

    node app.js
    
  3. Die folgenden Konsolenausgaben werden angezeigt, da das Featureflag Beta deaktiviert ist.

    Beta is enabled: false
    
  4. Melden Sie sich beim Azure-Portal an. Wählen Sie Alle Ressourcen und dann den App Configuration-Speicher aus, den Sie zuvor erstellt haben.

  5. Wählen Sie Feature-Manager aus, und suchen Sie das Featureflag Beta. Aktivieren Sie das Flag „Beta“, indem Sie das Kontrollkästchen unter Aktiviert aktivieren.

  6. Warten Sie einige Sekunden, und die Konsolenausgabe wird geändert.

    Beta is enabled: true