Tworzenie aplikacji Node.js przy użyciu zestawu Azure SDK dla języka JavaScript

W tym dokumencie przedstawiono przykłady użycia biblioteki Azure SDK for JavaScript do uzyskiwania dostępu do par klucz-wartość w usłudze Azure App Configuration.

Ważne

Usługa App Configuration oferuje bibliotekę dostawcy języka JavaScript, która jest oparta na zestawie SDK języka JavaScript i została zaprojektowana tak, aby ułatwić korzystanie z bogatszych funkcji. Umożliwia ona używanie ustawień konfiguracji, takich jak obiekt Mapy, i oferuje inne funkcje, takie jak kompozycja konfiguracji z wielu etykiet, przycinanie nazw kluczy i automatyczne rozpoznawanie odwołań usługi Key Vault. Przejdź do przewodnika Szybki start dla języka JavaScript, aby dowiedzieć się więcej.

Wymagania wstępne

Utwórz parę klucz-wartość

Dodaj następującą wartość klucza do magazynu App Configuration i pozostaw wartości domyślne Etykieta i Typ zawartości. Aby uzyskać więcej informacji na temat dodawania par klucz-wartość do magazynu przy użyciu portalu Azure lub interfejsu wiersza polecenia, przejdź do artykułu Create a key-value.

Klawisz Wartość
TestApp:Ustawienia:Wiadomość Dane z usługi Azure App Configuration

Skonfiguruj aplikację Node.js

  1. W tym samouczku utworzysz nowy katalog dla projektu o nazwie app-configuration-example.

    mkdir app-configuration-example
    
  2. Przejdź do nowo utworzonego katalogu app-configuration-example .

    cd app-configuration-example
    
  3. Zainstaluj bibliotekę kliencką Azure App Configuration za pomocą polecenia npm install.

    npm install @azure/app-configuration
    
  4. Utwórz nowy plik o nazwie app-configuration-example.js w katalogu app-configuration-example i dodaj następujący kod:

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

Uwaga

Fragmenty kodu w tym przykładzie pomagają rozpocząć pracę z biblioteką klienta App Configuration dla JavaScript. W aplikacji obsługuj wyjątki zgodnie z własnymi potrzebami. Więcej informacji można znaleźć w dokumentacji JavaScript SDK.

Przykłady kodu

W przykładowych fragmentach kodu w tej sekcji pokazano, jak wykonywać typowe operacje za pomocą biblioteki klienta usługi App Configuration dla języka JavaScript. Dodaj te fragmenty kodu do treści run funkcji w utworzonym wcześniej pliku app-configuration-example.js .

Uwaga

Biblioteka kliencka usługi App Configuration określa obiekt typu klucz-wartość jako ConfigurationSetting. W związku z tym w tym artykule wartości klucza w magazynie App Configuration będą określane jako ustawienia konfiguracji.

Dowiedz się, jak:

Nawiązywanie połączenia z magazynem usługi App Configuration

Poniższy fragment kodu tworzy wystąpienie klasy AppConfigurationClient. Możesz nawiązać połączenie ze sklepem App Configuration przy użyciu identyfikatora Entra firmy Microsoft (zalecane) lub parametry połączenia.

Użyj polecenia DefaultAzureCredential , aby uwierzytelnić się w magazynie usługi App Configuration. Postępuj zgodnie z instrukcjami, aby przypisać swoim poświadczeniom rolę Czytelnik danych konfiguracji aplikacji. Przed uruchomieniem aplikacji należy odczekać odpowiednio dużo czasu, aż uprawnienia się rozpropagują.

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

const client = new AppConfigurationClient(
  process.env.AZURE_APPCONFIG_ENDPOINT,
  new DefaultAzureCredential()
);

Pobierz ustawienie konfiguracji

Poniższy fragment kodu pobiera ustawienie konfiguracji na podstawie nazwy key.

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

Dodawanie ustawienia konfiguracji

Poniższy fragment kodu tworzy ConfigurationSetting obiekt z polami key i value i wywołuje metodę addConfigurationSetting . Ta metoda zgłosi wyjątek, jeśli spróbujesz dodać ustawienie konfiguracji, które już istnieje w twoim sklepie. Jeśli chcesz uniknąć tego wyjątku, zamiast tego można użyć metody 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}`);

Pobierz listę ustawień konfiguracji

Poniższy fragment kodu pobiera listę ustawień konfiguracji. Argumenty keyFilter i labelFilter można podać, aby filtrować pary klucz-wartość na podstawie odpowiednio key i label. Aby uzyskać więcej informacji na temat filtrowania, zobacz jak wykonywać zapytania dotyczące ustawień konfiguracji.

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

Blokowanie ustawienia konfiguracji

Stan blokady pary klucz-wartość w usłudze App Configuration jest oznaczony przez atrybut readOnly obiektu ConfigurationSetting. Jeśli readOnly to true, ustawienie jest zablokowane. Metodę setReadOnly można wywołać z argumentem true jako drugim argumentem, aby zablokować ustawienie konfiguracyjne.

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

Odblokowywanie ustawienia konfiguracji

Jeśli atrybut readOnly elementu ConfigurationSetting ma wartość false, ustawienie jest odblokowane. Metodę setReadOnly można wywołać, przekazując false jako drugi argument, aby odblokować ustawienie konfiguracyjne.

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

Aktualizowanie ustawienia konfiguracji

Metody setConfigurationSetting można użyć do zaktualizowania istniejącego ustawienia lub utworzenia nowego ustawienia. Poniższy fragment kodu zmienia wartość istniejącego ustawienia konfiguracji.

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

Usuwanie ustawienia konfiguracji

Poniższy fragment kodu usuwa ustawienie konfiguracji na podstawie nazwy key.

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

Uruchom aplikację

W tym przykładzie utworzono aplikację Node.js, która korzysta z biblioteki klienta usługi Azure App Configuration do pobierania ustawienia konfiguracji utworzonego za pośrednictwem portalu Azure, dodawania nowego ustawienia, pobrania listy istniejących ustawień, zablokowania i odblokowania ustawienia, zaktualizowania ustawienia, a na końcu usunięcia ustawienia.

W tym momencie plik app-configuration-example.js powinien mieć następujący kod:

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

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

    const client = new AppConfigurationClient(
        process.env.AZURE_APPCONFIG_ENDPOINT,
        new DefaultAzureCredential()
    );

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

Konfigurowanie zmiennej środowiskowej

  1. Skonfiguruj zmienną środowiskową za pomocą Microsoft Entra ID (zalecane) lub parametrów połączenia.

    Ustaw zmienną środowiskową o nazwie AZURE_APPCONFIG_ENDPOINT i przypisz jej wartość punktu końcowego magazynu App Configuration, znajdującego się na karcie Przegląd tego magazynu w portalu Azure.

    Jeśli używasz wiersza polecenia systemu Windows, uruchom następujące polecenie i uruchom ponownie wiersz polecenia, aby zezwolić na wprowadzenie zmian:

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

    Jeśli używasz programu PowerShell, uruchom następujące polecenie:

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

    Jeśli używasz systemu macOS lub Linux, uruchom następujące polecenie:

    export AZURE_APPCONFIG_ENDPOINT='<AppConfigurationEndpoint>'
    
  2. W oknie konsoli przejdź do katalogu zawierającego plik app-configuration-example.js i wykonaj następujące polecenie, aby uruchomić aplikację:

    node app.js
    

    Powinny zostać wyświetlone następujące dane wyjściowe:

    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!
    

Czyszczenie zasobów

Jeśli nie chcesz nadal korzystać z zasobów utworzonych w tym artykule, usuń utworzoną tutaj grupę zasobów, aby uniknąć naliczania opłat.

Ważne

Usunięcie grupy zasobów jest nieodwracalne. Grupa zasobów i wszystkie zasoby w niej są trwale usuwane. Upewnij się, że nie usuniesz przez przypadek niewłaściwej grupy zasobów lub zasobów. Jeśli zasoby dla tego artykułu zostały utworzone w grupie zasobów zawierającej inne zasoby, które chcesz zachować, usuń każdy zasób oddzielnie z odpowiedniego okienka zamiast usuwać grupę zasobów.

  1. Zaloguj się do witryny Azure Portal i wybierz pozycję Grupy zasobów.
  2. W polu Filtruj według nazwy wprowadź nazwę grupy zasobów.
  3. Na liście wyników wybierz nazwę grupy zasobów, aby wyświetlić przegląd.
  4. Wybierz pozycję Usuń grupę zasobów.
  5. Zostaniesz poproszony o potwierdzenie usunięcia grupy zasobów. Wprowadź nazwę grupy zasobów, aby potwierdzić, a następnie wybierz pozycję Usuń.

Po kilku chwilach grupa zasobów i wszystkie jej zasoby zostaną usunięte.

Następne kroki

Ten przewodnik pokazuje, jak używać zestawu SDK platformy Azure dla języka JavaScript do uzyskiwania dostępu do par klucz-wartość w usłudze Azure App Configuration.

Aby uzyskać dodatkowe przykłady kodu, odwiedź stronę:

Aby dowiedzieć się, jak używać usługi Azure App Configuration w aplikacjach JavaScript, przejdź do: