Dela via


Snabbstart: Lägga till funktionsflaggor i en Node.js-konsolapp

I den här snabbstarten införlivar du Azure App Configuration i en Node.js-konsolapp för att skapa en implementering av funktionshantering från slutpunkt till slutpunkt. Du kan använda App Configuration för att lagra alla dina funktionsflaggor centralt och styra deras tillstånd.

Biblioteken för JavaScript-funktionshantering utökar ramverket med stöd för funktionsflagga. De integreras sömlöst med App Configuration via dess JavaScript-konfigurationsprovider. Den här självstudien visar till exempel hur du använder JavaScript-funktionshantering i en Node.js app.

Förutsättningar

Lägga till en funktionsflagga

Lägg till en funktionsflagga med namnet Beta i App Configuration Store och lämna Etikett och Beskrivning med sina standardvärden. Mer information om hur du lägger till funktionsflaggor i en butik med hjälp av Azure Portal eller CLI finns i Skapa en funktionsflagga.

Aktivera funktionsflagga med namnet Beta

Använda funktionsflaggan

  1. Installera funktionshantering med hjälp npm install av kommandot .

    npm install @microsoft/feature-management
    
  2. Skapa en fil med namnet app.js och lägg till följande kod.

    Du använder för att autentisera DefaultAzureCredential till appkonfigurationsarkivet. Följ anvisningarna för att tilldela dina autentiseringsuppgifter rollen App Configuration Data Reader. Se till att ge tillräckligt med tid för att behörigheten ska spridas innan du kör programmet.

    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 settings = 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 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);
    

Kör appen

  1. Ange miljövariabeln .

    Ange miljövariabeln med namnet AZURE_APPCONFIG_ENDPOINT till slutpunkten för appkonfigurationsarkivet som finns under Översikt över din butik i Azure Portal.

    Om du använder Windows-kommandotolken kör du följande kommando och startar om kommandotolken så att ändringen börjar gälla:

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

    Om du använder PowerShell kör du följande kommando:

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

    Om du använder macOS eller Linux kör du följande kommando:

    export AZURE_APPCONFIG_ENDPOINT='<endpoint-of-your-app-configuration-store>'
    
  2. Kör följande kommando för att köra appen lokalt:

    node app.js
    
  3. Följande konsolutdata visas eftersom betafunktionsflaggan är inaktiverad.

    Beta is enabled: false
    
  4. Logga in på Azure-portalen. Välj Alla resurser och välj appkonfigurationsarkivet som du skapade tidigare.

  5. Välj Funktionshanterare och leta upp flaggan Beta-funktion . Aktivera flaggan genom att markera kryssrutan under Aktiverad.

  6. Vänta några sekunder så ser du att konsolens utdata ändras.

    Beta is enabled: true