Compartir a través de


Inicio rápido: Adición de marcas de características a una aplicación de consola de Node.js

En este inicio rápido, incorporará Azure App Configuration en una aplicación de consola de Node.js para crear una implementación de un extremo a otro de la administración de características. Puede usar App Configuration para almacenar en una ubicación central todas las marcas de características y controlar sus estados.

Las bibliotecas de administración de características de JavaScript amplían la plataforma con compatibilidad con las marcas de características. Se integran sin problemas con App Configuration mediante su proveedor de configuración de JavaScript. Por ejemplo, en este tutorial se muestra cómo usar el proveedor de JavaScript en una aplicación Node.js.

Requisitos previos

Agregar marca de características

Agregue una marca de característica denominada Beta al almacén de App Configuration y deje Etiqueta y descripción con sus valores predeterminados. Para obtener más información sobre cómo agregar marcas de características a un almacén mediante Azure Portal o la CLI, vaya a Creación de una marca de característica.

Habilitación de la marca de característica denominada Beta

Uso de la marca de características

  1. Instale la Administración de características mediante el comando npm install.

    npm install @microsoft/feature-management
    
  2. Cree un archivo llamado app.js y agregue el siguiente código.

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

Ejecución de la aplicación

  1. Establezca una variable de entorno llamada AZURE_APPCONFIG_CONNECTION_STRING y defínala como la cadena de conexión de su almacén de App Configuration. En la línea de comandos, ejecute el siguiente comando:

    Para ejecutar la aplicación localmente mediante el símbolo del sistema de Windows, ejecute el siguiente comando y reemplace <app-configuration-store-connection-string> con la cadena de conexión del almacén de configuración de la aplicación:

    setx AZURE_APPCONFIG_CONNECTION_STRING "<app-configuration-store-connection-string>"
    
  2. Ejecute el siguiente comando para ejecutar la aplicación localmente:

    node app.js
    
  3. Verá las siguientes salidas de la consola porque la marca de característica Beta está deshabilitada.

    Beta is enabled: false
    
  4. Inicie sesión en Azure Portal. Seleccione Todos los recursos y, después, elija el almacén de App Configuration que creó.

  5. Seleccione Administrador de características y busque la marca de características Beta. Habilite la marca activando la casilla situada debajo de Habilitado.

  6. Espere unos segundos y verá que las salidas de la consola cambian.

    Beta is enabled: true