Condividi tramite


Avvio rapido: Aggiungere flag di funzionalità a un'app console Node.js

In questo guida di avvio rapido si incorpora Configurazione app di Azure in un'app console Node.js per creare un'implementazione end-to-end della gestione delle funzionalità. È possibile usare il servizio Configurazione app per archiviare tutti i flag di funzionalità in una posizione centralizzata e controllarne gli stati.

Le librerie di Gestione funzionalità di JavaScript estendono il framework con il supporto per i flag di funzionalità. Si integrano facilmente con Configurazione app tramite il provider di configurazione di JavaScript. A titolo esemplificativo, questa esercitazione mostra come usare Gestione funzionalità di JavaScript in un'app Node.js.

Prerequisiti

Aggiungere un flag di funzionalità

Aggiungere un flag di funzionalità chiamato Beta all’archivio di Configurazione app e lasciare Etichetta e Descrizione con i relativi valori predefiniti. Per altre informazioni su come aggiungere flag di funzionalità a un archivio usando il portale di Azure o l’interfaccia della riga di comando, vedere Creare un flag di funzionalità.

Abilitare il flag di funzionalità denominato Beta

Usare il flag di funzionalità

  1. Installare Gestione funzionalità usando il comando npm install.

    npm install @microsoft/feature-management
    
  2. Creare un file denominato app.js e aggiungere il codice seguente.

    Usare DefaultAzureCredential per eseguire l'autenticazione nell'archivio di Configurazione app. Seguire le istruzioni per assegnare le credenziali al ruolo Lettore dati di Configurazione app. Assicurarsi di consentire tempo sufficiente per la propagazione dell'autorizzazione prima di eseguire l'applicazione.

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

Eseguire l'applicazione

  1. Impostare la variabile di ambiente.

    Impostare la variabile di ambiente denominata AZURE_APPCONFIG_ENDPOINT sull'endpoint dell'archivio di Configurazione app disponibile in Panoramica dello store nel portale di Azure.

    Se si usa il prompt dei comandi di Windows, eseguire il comando seguente e riavviare il prompt per rendere effettiva la modifica:

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

    Se si usa PowerShell, eseguire il comando seguente:

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

    Se si usa macOS o Linux, eseguire il comando seguente:

    export AZURE_APPCONFIG_ENDPOINT='<endpoint-of-your-app-configuration-store>'
    
  2. Per eseguire l'app in locale, eseguire il comando seguente:

    node app.js
    
  3. Poiché il flag di funzionalità Beta è disabilitato, verranno visualizzati gli output della console seguenti.

    Beta is enabled: false
    
  4. Accedere al portale di Azure. Selezionare Tutte le risorse e selezionare l’archivio di Configurazione app creato in precedenza.

  5. Selezionare Gestione funzionalità e individuare il flag di funzionalità Beta. Abilitare il flag selezionando la casella di controllo in Abilitato.

  6. Attendere alcuni secondi per visualizzare gli output della console.

    Beta is enabled: true
    

Passaggi successivi

Per il rundown completo delle funzionalità della libreria di Gestione funzionalità di JavaScript, continuare con il documento seguente.

Anche se un flag di funzionalità consente di attivare o disattivare funzionalità nell'app, può essere necessario personalizzare un flag di funzionalità in base alla logica della propria app. I filtri delle funzionalità consentono di abilitare un flag di funzionalità in modo condizionale. Per altre informazioni, continuare con l'esercitazione seguente.

Configurazione app di Azure offre filtri di funzionalità predefiniti che consentono di attivare un flag di funzionalità solo durante un periodo specifico o per un particolare gruppo di destinatari dell'app. Per altre informazioni, continuare con l'esercitazione seguente.