Partager via


Démarrage rapide : ajouter des indicateurs de fonctionnalité à une application console Node.js

Dans ce démarrage rapide, vous incorporez Azure App Configuration à une application console Node.js pour créer une implémentation de bout en bout de la gestion des fonctionnalités. Vous pouvez utiliser App Configuration pour stocker de manière centralisée vos indicateurs de fonctionnalités et contrôler leur état.

Les bibliothèques de gestion des fonctionnalités JavaScript étendent le framework avec une prise en charge des indicateurs de fonctionnalités. Elles s’intègrent facilement à App Configuration via son fournisseur de configuration JavaScript. À titre d’exemple, ce tutoriel montre comment utiliser la gestion des fonctionnalités JavaScript dans une application Node.js.

Prérequis

Ajouter un indicateur de fonctionnalité

Ajoutez un indicateur de fonctionnalité appelé Bêta au magasin App Configuration et laissez les valeurs par défaut à Étiquette et à Description. Pour plus d’informations sur l’ajout d’indicateurs de fonctionnalité à un magasin à l’aide du portail Azure ou de CLI, accédez à Créer un indicateur de fonctionnalité.

Activer l’indicateur de fonctionnalité nommé Beta

Utiliser l’indicateur de fonctionnalité

  1. Installez la gestion des fonctionnalités en utilisant la commande npm install.

    npm install @microsoft/feature-management
    
  2. Créez un fichier nommé app.js, puis ajoutez le code suivant.

    Vous utilisez le DefaultAzureCredential pour vous authentifier auprès de votre magasin App Configuration. Suivez les instructions pour attribuer à votre identifiant le rôle de lecteur de données de configuration de l'application. Veillez à laisser suffisamment de temps pour que l’autorisation se propage avant d’exécuter votre application.

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

Exécution de l'application

  1. Définissez la variable d’environnement .

    Définissez la variable d’environnement nommée AZURE_APPCONFIG_ENDPOINT sur le point de terminaison de votre magasin App Configuration qui se trouve sous la Vue d’ensemble de votre magasin dans le Portail Azure.

    Si vous utilisez l’invite de commandes Windows, exécutez la commande suivante et redémarrez l’invite pour que la modification soit prise en compte :

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

    Si vous utilisez PowerShell, utilisez la commande suivante :

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

    Si vous utilisez macOS ou Linux, exécutez la commande suivante :

    export AZURE_APPCONFIG_ENDPOINT='<endpoint-of-your-app-configuration-store>'
    
  2. Exécutez la commande suivante pour exécuter l’application localement :

    node app.js
    
  3. Vous voyez les sorties de console suivantes, car l’indicateur de fonctionnalité Bêta est désactivé.

    Beta is enabled: false
    
  4. Connectez-vous au portail Azure. Sélectionnez Toutes les ressources, puis le magasin App Configuration que vous avez créé précédemment.

  5. Sélectionnez Gestionnaire de fonctionnalités et recherchez l’indicateur de fonctionnalité Beta. Activez l’indicateur en cochant la case située sous Activé.

  6. Patientez quelques secondes pour voir le changement des sorties de console.

    Beta is enabled: true