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-Konfigurationsspeicher eine Feature-Flag namens Beta hinzu und lassen Sie Bezeichnung und Beschreibung mit ihren Standardwerten. Weitere Informationen zum Hinzufügen von Featurekennzeichnungen zu einem Store mithilfe des Azure-Portals oder der CLI finden Sie unter "Erstellen eines Featureflags".

Featurekennzeichnung

Verwenden des Featureflags

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

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

    Sie verwenden die DefaultAzureCredential für die Authentifizierung beim App Configuration-Speicher. Folgen Sie den Anweisungen , um Ihre Anmeldeinformationen der Rolle " App-Konfigurationsdatenleser " zuzuweisen. Achten Sie darauf, ausreichend Zeit für die Verteilung der Berechtigung einzuplanen, bevor Sie Ihre Anwendung ausführen.

    const sleepInMs = require("util").promisify(setTimeout);
    const { load } = require("@azure/app-configuration-provider");
    const { DefaultAzureCredential } = require("@azure/identity");
    const { FeatureManager, ConfigurationMapFeatureFlagProvider} = require("@microsoft/feature-management");
    const endpoint = process.env.AZURE_APPCONFIG_ENDPOINT;
    const credential = new DefaultAzureCredential(); // For more information, see https://learn.microsoft.com/azure/developer/javascript/sdk/credential-chains#use-defaultazurecredential-for-flexibility
    
    async function run() {
        // Connect to Azure App Configuration using endpoint and token credential
        const appConfig = await load(endpoint, credential, {
            featureFlagOptions: {
                enabled: true,
                // Note: selectors must be explicitly provided for feature flags.
                selectors: [{
                    keyFilter: "*"
                }],
                refresh: {
                    enabled: true,
                    refreshIntervalInMs: 10_000
                }
            }
        });
    
        // Create feature manager with feature flag provider that accesses feature flags from App Configuration
        const fm = new FeatureManager(
            new ConfigurationMapFeatureFlagProvider(appConfig));
    
        while (true) {
            await appConfig.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 die Umgebungsvariable fest.

    Legen Sie die Umgebungsvariable namens AZURE_APPCONFIG_ENDPOINT auf den Endpunkt Ihres App-Konfigurationsspeichers fest, der unter der Übersicht über Ihren Store im Azure-Portal zu finden ist.

    Führen Sie bei Verwendung einer Windows-Eingabeaufforderung den folgenden Befehl aus, und starten Sie die Eingabeaufforderung neu, damit die Änderung wirksam wird:

    setx AZURE_APPCONFIG_ENDPOINT "<endpoint-of-your-app-configuration-store>"
    

    Wenn Sie PowerShell verwenden, und führen Sie den folgenden Befehl aus:

    $Env:AZURE_APPCONFIG_ENDPOINT = "<endpoint-of-your-app-configuration-store>"
    

    Führen Sie bei Verwendung von macOS oder Linux den folgenden Befehl aus:

    export AZURE_APPCONFIG_ENDPOINT='<endpoint-of-your-app-configuration-store>'
    
  2. Führen Sie den folgenden Befehl aus, um die App lokal auszuführen:

    node app.js
    
  3. Da die Feature-Flag "Beta" deaktiviert ist, werden die folgenden Konsolenausgaben angezeigt.

    Beta is enabled: false
    
  4. Melden Sie sich beim Azure-Portal an. Wählen Sie "Alle Ressourcen" und dann den Zuvor erstellten App-Konfigurationsspeicher aus.

  5. Wählen Sie den Feature-Manager aus, und suchen Sie das Feature-Flag "Beta ". Aktivieren Sie die Kennzeichnung, indem Sie das Kontrollkästchen unter "Aktiviert" aktivieren.

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

    Beta is enabled: true
    

Nächste Schritte

Eine vollständige Übersicht über die JavaScript-Featureverwaltungsbibliothek finden Sie im folgenden Dokument.

Mit einem Featureflag können Sie zwar Funktionen in Ihrer App aktivieren oder deaktivieren, Sie können ein Featureflag aber auch basierend auf der Logik Ihrer App anpassen. Mit Featurefiltern können Sie ein Featureflag bedingt aktivieren. Weitere Informationen erhalten Sie im folgenden Tutorial.

Azure App Configuration bietet integrierte Featurefilter, mit denen Sie ein Featureflag nur während eines bestimmten Zeitraums oder für eine bestimmte Zielgruppe Ihrer App aktivieren können. Weitere Informationen erhalten Sie im folgenden Tutorial.