Crear una aplicación Node.js con el SDK de Azure para JavaScript

En este documento se muestran ejemplos de cómo usar el SDK de Azure para JavaScript para acceder a los valores de clave en Azure App Configuration.

Sugerencia

App Configuration ofrece una biblioteca de proveedores de JavaScript que se basa en el SDK de JavaScript y está diseñada para que sea más fácil de usar con características más enriquecidas. Permite usar las opciones de configuración como un objeto Map y ofrece otras características, como la configuración compuesta de varias etiquetas, el recorte de nombres de clave y la resolución automática de referencias de Key Vault. Vaya al inicio rápido de JavaScript para obtener más información.

Requisitos previos

Creación de un par clave-valor

Agregue el siguiente para clave-valor al almacén de App Configuration y deje Label y Content Type con sus valores predeterminados. Para obtener más información sobre cómo agregar pares clave-valor a un almacén mediante Azure Portal o la CLI, vaya a Creación de un par clave-valor.

Clave Value
TestApp:Settings:Message Datos de Azure App Configuration

Configuración de la aplicación Node.js

  1. En este tutorial, creará un directorio para el proyecto denominado app-configuration-example.

    mkdir app-configuration-example
    
  2. Cambie al directorio recién creado app-configuration-example.

    cd app-configuration-example
    
  3. Instale la biblioteca cliente de Azure App Configuration mediante el comando npm install.

    npm install @azure/app-configuration
    
  4. Cree un archivo llamado app-configuration-example.js en el directorio app-configuration-example y agregue el código siguiente:

    const { AppConfigurationClient } = require("@azure/app-configuration");
    
    async function run() {
      console.log("Azure App Configuration - JavaScript example");
      // Example code goes here
    }
    
    run().catch(console.error);
    

Nota:

Los fragmentos de código de este ejemplo le ayudarán a empezar a usar la biblioteca cliente de App Configuration para JavaScript. También debe tener en cuenta el control de excepciones en su aplicación según sus necesidades. Para más información sobre el control de excepciones, consulte la documentación del SDK de JavaScript.

Configuración de la cadena de conexión de App Configuration

  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. Imprima el valor de la variable de entorno para comprobar que se ha establecido correctamente con el siguiente comando.

    Con el símbolo del sistema de Windows, reinicie el símbolo del sistema para permitir que el cambio surta efecto y ejecute el siguiente comando:

    echo %AZURE_APPCONFIG_CONNECTION_STRING%
    

Ejemplos de código

En los fragmentos de código de ejemplo de esta sección se muestra cómo realizar operaciones comunes con la biblioteca cliente de App Configuration para JavaScript. Agregue estos fragmentos de código al cuerpo de la función run en archivo app-configuration-example.js que creó anteriormente.

Nota:

La biblioteca cliente de App Configuration hace referencia a un objeto clave-valor como ConfigurationSetting. Por lo tanto, en este artículo, los pares clave-valor del almacén de App Configuration se conocen como valores de configuración.

Obtenga información a continuación sobre el procedimiento para:

Conexión a un almacén de App Configuration

El siguiente fragmento de código crea una instancia de AppConfigurationClient mediante la cadena de conexión almacenada en las variables de entorno.

const connection_string = process.env.AZURE_APPCONFIG_CONNECTION_STRING;
const client = new AppConfigurationClient(connection_string);

Obtención de un valor de configuración

El siguiente fragmento de código recupera un valor de configuración por nombre de key.

    const retrievedConfigSetting = await client.getConfigurationSetting({
        key: "TestApp:Settings:Message"
    });
    console.log("\nRetrieved configuration setting:");
    console.log(`Key: ${retrievedConfigSetting.key}, Value: ${retrievedConfigSetting.value}`);

Incorporación de un valor de configuración

El siguiente fragmento de código crea un objeto ConfigurationSetting con los campos key y value e invoca el método addConfigurationSetting. Este método producirá una excepción si intenta agregar un valor de configuración que ya existe en el almacén. Para evitar esta excepción, puede utilizar en su lugar el método setConfigurationSetting.

    const configSetting = {
        key:"TestApp:Settings:NewSetting",
        value:"New setting value"
    };
    const addedConfigSetting = await client.addConfigurationSetting(configSetting);
    console.log("\nAdded configuration setting:");
    console.log(`Key: ${addedConfigSetting.key}, Value: ${addedConfigSetting.value}`);

Obtención de una lista de valores de configuración

En el fragmento de código siguiente se recupera una lista de valores de configuración. Se pueden proporcionar los argumentos keyFilter y labelFilter para filtrar los pares clave-valor por key y label, respectivamente. Para más información sobre el filtrado, consulte cómo realizar consultas de los valores de configuración.

    const filteredSettingsList = client.listConfigurationSettings({
        keyFilter: "TestApp*"
    });
    console.log("\nRetrieved list of configuration settings:");
    for await (const filteredSetting of filteredSettingsList) {
        console.log(`Key: ${filteredSetting.key}, Value: ${filteredSetting.value}`);
    }

Bloqueo de un valor de configuración

El estado de bloqueo de un par clave-valor en App Configuration está indicado por el atributo readOnly del objeto ConfigurationSetting. Si readOnly es true, el valor está bloqueado. Se puede invocar el método setReadOnly con true como segundo argumento para bloquear el valor de configuración.

    const lockedConfigSetting = await client.setReadOnly(addedConfigSetting, true /** readOnly */);
    console.log(`\nRead-only status for ${lockedConfigSetting.key}: ${lockedConfigSetting.isReadOnly}`);

Desbloqueo de un valor de configuración

Si el atributo readOnly de ConfigurationSetting es false, el valor está desbloqueado. Se puede invocar el método setReadOnly con false como segundo argumento para desbloquear el valor de configuración.

    const unlockedConfigSetting = await client.setReadOnly(lockedConfigSetting, false /** readOnly */);
    console.log(`\nRead-only status for ${unlockedConfigSetting.key}: ${unlockedConfigSetting.isReadOnly}`);

Actualización de un valor de configuración

El método setConfigurationSetting se puede utilizar para actualizar un valor existente o para crear un valor. El siguiente fragmento de código cambia el valor de un valor de configuración existente.

    addedConfigSetting.value = "Value has been updated!";
    const updatedConfigSetting = await client.setConfigurationSetting(addedConfigSetting);
    console.log("\nUpdated configuration setting:");
    console.log(`Key: ${updatedConfigSetting.key}, Value: ${updatedConfigSetting.value}`);

Eliminación de un valor de configuración

El siguiente fragmento de código elimina un valor de configuración por el nombre de key.

    const deletedConfigSetting = await client.deleteConfigurationSetting({
        key: "TestApp:Settings:NewSetting"
    });
    console.log("\nDeleted configuration setting:");
    console.log(`Key: ${deletedConfigSetting.key}, Value: ${deletedConfigSetting.value}`);

Ejecutar la aplicación

En este ejemplo ha creado una aplicación de Node.js que usa la biblioteca cliente de Azure App Configuration para recuperar un valor de configuración creado mediante Azure Portal, agregar un nuevo valor, recuperar una lista de los valores existentes, bloquear y desbloquear un valor, actualizar un valor y, por último, eliminar un valor.

Llegados a este punto, el archivo app-configuration-example.js debe tener el código siguiente:

const { AppConfigurationClient } = require("@azure/app-configuration");

async function run() {
    console.log("Azure App Configuration - JavaScript example");

    const connection_string = process.env.AZURE_APPCONFIG_CONNECTION_STRING;
    const client = new AppConfigurationClient(connection_string);

    const retrievedConfigSetting = await client.getConfigurationSetting({
        key: "TestApp:Settings:Message"
    });
    console.log("\nRetrieved configuration setting:");
    console.log(`Key: ${retrievedConfigSetting.key}, Value: ${retrievedConfigSetting.value}`);

    const configSetting = {
        key: "TestApp:Settings:NewSetting",
        value: "New setting value"
    };
    const addedConfigSetting = await client.addConfigurationSetting(configSetting);
    console.log("Added configuration setting:");
    console.log(`Key: ${addedConfigSetting.key}, Value: ${addedConfigSetting.value}`);

    const filteredSettingsList = client.listConfigurationSettings({
        keyFilter: "TestApp*"
    });
    console.log("Retrieved list of configuration settings:");
    for await (const filteredSetting of filteredSettingsList) {
        console.log(`Key: ${filteredSetting.key}, Value: ${filteredSetting.value}`);
    }

    const lockedConfigSetting = await client.setReadOnly(addedConfigSetting, true /** readOnly */);
    console.log(`Read-only status for ${lockedConfigSetting.key}: ${lockedConfigSetting.isReadOnly}`);

    const unlockedConfigSetting = await client.setReadOnly(lockedConfigSetting, false /** readOnly */);
    console.log(`Read-only status for ${unlockedConfigSetting.key}: ${unlockedConfigSetting.isReadOnly}`);

    addedConfigSetting.value = "Value has been updated!";
    const updatedConfigSetting = await client.setConfigurationSetting(addedConfigSetting);
    console.log("Updated configuration setting:");
    console.log(`Key: ${updatedConfigSetting.key}, Value: ${updatedConfigSetting.value}`);

    const deletedConfigSetting = await client.deleteConfigurationSetting({
        key: "TestApp:Settings:NewSetting"
    });
    console.log("Deleted configuration setting:");
    console.log(`Key: ${deletedConfigSetting.key}, Value: ${deletedConfigSetting.value}`);
}

run().catch(console.error);

En la ventana de la consola, vaya al directorio que contiene el archivo app-configuration-example.js y ejecute el siguiente comando para ejecutar la aplicación:

node app.js

Debería ver la siguiente salida:

Azure App Configuration - JavaScript example

Retrieved configuration setting:
Key: TestApp:Settings:Message, Value: Data from Azure App Configuration

Added configuration setting:
Key: TestApp:Settings:NewSetting, Value: New setting value

Retrieved list of configuration settings:
Key: TestApp:Settings:Message, Value: Data from Azure App Configuration
Key: TestApp:Settings:NewSetting, Value: New setting value

Read-only status for TestApp:Settings:NewSetting: true

Read-only status for TestApp:Settings:NewSetting: false

Updated configuration setting:
Key: TestApp:Settings:NewSetting, Value: Value has been updated!

Deleted configuration setting:
Key: TestApp:Settings:NewSetting, Value: Value has been updated!

Limpieza de recursos

Si no quiere seguir usando los recursos que se han creado en este artículo, elimine el grupo de recursos que creó aquí para evitar cargos.

Importante

La eliminación de un grupo de recursos es irreversible. El grupo de recursos y todos los recursos que contiene se eliminan permanentemente. Asegúrese de que no elimina por accidente el grupo de recursos o los recursos equivocados. Si creó los recursos para este artículo en un grupo de recursos que contenga los recursos que desee conservar, elimine cada recurso de forma individual desde su panel respectivo, en lugar de eliminar el grupo de recursos.

  1. Inicie sesión en Azure Portal y después seleccione Grupos de recursos.
  2. En el cuadro de texto Filtrar por nombre, escriba el nombre del grupo de recursos.
  3. En la lista resultados, seleccione el nombre del grupo de recursos para ver la información general.
  4. Seleccione Eliminar grupo de recursos.
  5. Se le pedirá que confirme la eliminación del grupo de recursos. Escriba el nombre del grupo de recursos para confirmar y seleccione Eliminar.

Transcurridos unos instantes, el grupo de recursos y todos sus recursos se eliminan.

Pasos siguientes

En esta guía se muestra cómo usar el SDK de Azure para JavaScript para acceder a los valores de clave en Azure App Configuration.

Para encontrar otros ejemplos de código, visite:

Para aprender a usar Azure App Configuration con aplicaciones de JavaScript, vaya a: