Condividi tramite


Creare un'app Node.js con Azure SDK per JavaScript

Questo documento illustra esempi di come usare Azure SDK per JavaScript per accedere ai valori chiave in app Azure Configuration.

Suggerimento

Configurazione app offre una libreria di provider JavaScript basata su JavaScript SDK ed è progettata per essere più semplice da usare con funzionalità più avanzate. Consente di usare le impostazioni di configurazione come un oggetto Map e offre altre funzionalità, ad esempio la composizione della configurazione da più etichette, il taglio del nome della chiave e la risoluzione automatica dei riferimenti a Key Vault. Per altre informazioni, vedere la guida introduttiva a JavaScript.

Prerequisiti

Creare un valore chiave

Aggiungere il valore chiave seguente all'archivio Configurazione app e lasciare Etichetta e Tipo di contenuto con i valori predefiniti. Per altre informazioni su come aggiungere valori chiave a un archivio usando il portale di Azure o l'interfaccia della riga di comando, vedere Creare un valore chiave.

Chiave valore
TestApp:Settings:Message Dati di Configurazione app di Azure

Configurazione dell'app Node.js

  1. In questa esercitazione si creerà una nuova directory per il progetto denominato app-configuration-example.

    mkdir app-configuration-example
    
  2. Passare alla directory app-configuration-example appena creata.

    cd app-configuration-example
    
  3. Installare la libreria client di Configurazione app di Azure usando il comando npm install.

    npm install @azure/app-configuration
    
  4. Creare un nuovo file denominato app-configuration-example.js nella directory app-configuration-example e aggiungere il codice seguente:

    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

I frammenti di codice in questo esempio consentono di iniziare a usare la libreria client Configurazione app per JavaScript. Per l'applicazione, è consigliabile gestire le eccezioni in base alle esigenze. Per altre informazioni sulla gestione delle eccezioni, vedere la documentazione di JavaScript SDK.

Configurare la stringa di connessione di Configurazione app

  1. Impostare una variabile di ambiente denominata AZURE_APPCONFIG_CONNECTION_STRING e impostarla sul stringa di connessione dell'archivio Configurazione app. Eseguire il comando seguente alla riga di comando:

    Per eseguire l'app in locale usando il prompt dei comandi di Windows, eseguire il comando seguente e sostituire <app-configuration-store-connection-string> con il stringa di connessione dell'archivio di configurazione app:

    setx AZURE_APPCONFIG_CONNECTION_STRING "<app-configuration-store-connection-string>"
    
  2. Stampare il valore della variabile di ambiente per verificare che sia impostato correttamente con il comando seguente.

    Usando il prompt dei comandi di Windows, riavviare il prompt dei comandi per consentire l'applicazione della modifica ed eseguire il comando seguente:

    echo %AZURE_APPCONFIG_CONNECTION_STRING%
    

Esempi di codice

I frammenti di codice di esempio in questa sezione illustrano come eseguire operazioni comuni con la libreria client Configurazione app per JavaScript. Aggiungere questi frammenti di codice al corpo della run funzione nel file app-configuration-example.js creato in precedenza.

Nota

La libreria client di Configurazione app fa riferimento a un oggetto chiave-valore come ConfigurationSetting. Pertanto, in questo articolo, gli oggetti chiave-valore nell'archivio di Configurazione app verranno definiti come impostazioni di configurazione.

Di seguito viene descritto come:

Connettersi a un archivio di Configurazione app

Il frammento di codice seguente crea un'istanza di AppConfigurationClient usando il stringa di connessione archiviato nelle variabili di ambiente.

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

Ottenere un'impostazione di configurazione

Il frammento di codice seguente recupera un'impostazione di configurazione in base al nome key.

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

Aggiungere un'impostazione di configurazione

Il frammento di codice seguente crea un oggetto ConfigurationSetting con i campi key e value e richiama il metodo addConfigurationSetting. Questo metodo genererà un'eccezione se si prova ad aggiungere un'impostazione di configurazione già esistente nell'archivio. Se si vuole evitare questa eccezione, è possibile usare il metodo 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}`);

Ottenere un elenco di impostazioni di configurazione

Il frammento di codice seguente recupera un elenco di impostazioni di configurazione. Gli argomenti keyFilter e labelFilter possono essere specificati per filtrare rispettivamente gli oggetti chiave-valore basati su key e label. Per altre informazioni sui filtri, vedere come eseguire query sulle impostazioni di configurazione.

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

Bloccare un'impostazione di configurazione

Lo stato di blocco di un oggetto chiave-valore in Configurazione app è indicato dall'attributo readOnly dell'oggetto ConfigurationSetting. Se readOnly è true, l'impostazione è bloccata. Il setReadOnly metodo può essere richiamato con true come secondo argomento per bloccare l'impostazione di configurazione.

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

Sbloccare un'impostazione di configurazione

Se l'attributo readOnly di ConfigurationSetting è false, l'impostazione è sbloccata. Il setReadOnly metodo può essere richiamato con false come secondo argomento per sbloccare l'impostazione di configurazione.

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

Aggiornare un'impostazione di configurazione

È possibile usare il metodo setConfigurationSetting per aggiornare un'impostazione esistente o crearne una nuova. Il frammento di codice seguente cambia il valore di un'impostazione di configurazione esistente.

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

Eliminare un'impostazione di configurazione

Il frammento di codice seguente elimina un'impostazione di configurazione in base al nome key.

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

Eseguire l'app

In questo esempio è stata creata un'app Node.js che usa la libreria client di configurazione app Azure per recuperare un'impostazione di configurazione creata tramite il portale di Azure, aggiungere una nuova impostazione, recuperare un elenco di impostazioni esistenti, bloccare e sbloccare un'impostazione, aggiornare un'impostazione e infine eliminare un'impostazione.

A questo punto, il file app-configuration-example.js deve avere il codice seguente:

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

Nella finestra della console passare alla directory contenente il file app-configuration-example.js ed eseguire il comando seguente per eseguire l'app:

node app.js

Verrà visualizzato l'output seguente:

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!

Pulire le risorse

Se non si vuole continuare a usare le risorse create in questo articolo, eliminare il gruppo di risorse creato qui per evitare addebiti.

Importante

L'eliminazione di un gruppo di risorse è irreversibile. Il gruppo di risorse e tutte le risorse in esso contenute vengono eliminati in modo permanente. Assicurarsi di non eliminare accidentalmente il gruppo di risorse o le risorse sbagliate. Se le risorse per questo articolo sono state create in un gruppo di risorse che contiene altre risorse che si vogliono mantenere, eliminare ogni risorsa singolarmente dal rispettivo riquadro anziché eliminare il gruppo di risorse.

  1. Accedere al portale di Azure e selezionare Gruppi di risorse.
  2. Nella casella Filtra per nome immettere il nome del gruppo di risorse.
  3. Nell'elenco dei risultati selezionare il nome del gruppo di risorse per visualizzare una panoramica.
  4. Selezionare Elimina gruppo di risorse.
  5. Verrà chiesto di confermare l'eliminazione del gruppo di risorse. Immettere il nome del gruppo di risorse per confermare e selezionare Elimina.

Dopo qualche istante, il gruppo di risorse e tutte le risorse che contiene vengono eliminati.

Passaggi successivi

Questa guida ha illustrato come usare Azure SDK per JavaScript per accedere ai valori chiave in app Azure Configuration.

Per altri esempi di codice, vedere:

Per informazioni su come usare app Azure Configurazione con le app JavaScript, vedere: