Szybki start: tworzenie aplikacji JavaScript przy użyciu konfiguracji aplikacja systemu Azure

W tym przewodniku Szybki start użyjesz aplikacja systemu Azure Configuration do scentralizowanego przechowywania ustawień aplikacji i zarządzania nimi przy użyciu biblioteki klienta dostawcy aplikacja systemu Azure Configuration JavaScript.

Dostawca usługi App Configuration dla języka JavaScript jest oparty na zestawie Azure SDK dla języka JavaScript i został zaprojektowany tak, aby był łatwiejszy w użyciu z bardziej zaawansowanymi funkcjami. Umożliwia ona dostęp do klucz-wartości w usłudze App Configuration jako Map obiektu. Oferuje funkcje, takie jak kompozycja konfiguracji z wielu etykiet, przycinanie prefiksów kluczy, automatyczne rozpoznawanie odwołań usługi Key Vault i wiele innych. Na przykład w tym samouczku pokazano, jak używać dostawcy języka JavaScript w aplikacji Node.js.

Wymagania wstępne

Dodawanie wartości klucz-wartość

Dodaj następujące wartości klucza do magazynu App Configuration. Aby uzyskać więcej informacji na temat dodawania wartości klucz-wartości do magazynu przy użyciu witryny Azure Portal lub interfejsu wiersza polecenia, przejdź do artykułu Create a key-value (Tworzenie wartości klucza).

Key Wartość Typ zawartości
message Komunikat z konfiguracji aplikacja systemu Azure Pozostaw pole puste
app.greeting Witaj, świecie Pozostaw pole puste
app.json {"myKey":"myValue"} application/json

Tworzenie aplikacji konsolowej Node.js

W tym samouczku utworzysz aplikację konsolową Node.js i załadujesz dane ze sklepu App Configuration.

  1. Utwórz nowy katalog dla projektu o nazwie app-configuration-quickstart.

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

    cd app-configuration-quickstart
    
  3. Zainstaluj dostawcę aplikacja systemu Azure Configuration przy użyciu npm install polecenia .

    npm install @azure/app-configuration-provider
    

Połączenie do magazynu usługi App Configuration

W poniższych przykładach pokazano, jak pobrać dane konfiguracji z aplikacja systemu Azure Configuration i wykorzystać je w aplikacji. Domyślnie wartości klucza są ładowane jako Map obiekt, co pozwala uzyskać dostęp do każdej wartości klucza przy użyciu jego pełnej nazwy klucza. Jeśli jednak aplikacja używa obiektów konfiguracji, możesz użyć interfejsu constructConfigurationObject API pomocnika, który tworzy obiekt konfiguracji na podstawie wartości klucza załadowanych z aplikacja systemu Azure Configuration.

Utwórz plik o nazwie app.js w katalogu app-configuration-quickstart i skopiuj kod z każdego przykładu.

Przykład 1. Ładowanie wartości klucz-wartości przy użyciu selektora domyślnego

W tym przykładzie nawiąż połączenie z usługą aplikacja systemu Azure Configuration przy użyciu parametry połączenia i załaduj wartości kluczy bez określania opcji zaawansowanych. Domyślnie ładuje wszystkie wartości klucza bez etykiety.

const { load } = require("@azure/app-configuration-provider");
const connectionString = process.env.AZURE_APPCONFIG_CONNECTION_STRING;

async function run() {
    console.log("Sample 1: Load key-values with default selector");

    // Connect to Azure App Configuration using a connection string and load all key-values with null label.
    const settings = await load(connectionString);

    console.log("---Consume configuration as a Map---");
    // Find the key "message" and print its value.
    console.log('settings.get("message"):', settings.get("message"));           // settings.get("message"): Message from Azure App Configuration
    // Find the key "app.greeting" and print its value.
    console.log('settings.get("app.greeting"):', settings.get("app.greeting")); // settings.get("app.greeting"): Hello World
    // Find the key "app.json" whose value is an object.
    console.log('settings.get("app.json"):', settings.get("app.json"));         // settings.get("app.json"): { myKey: 'myValue' }

    console.log("---Consume configuration as an object---");
    // Construct configuration object from loaded key-values, by default "." is used to separate hierarchical keys.
    const config = settings.constructConfigurationObject();
    // Use dot-notation to access configuration
    console.log("config.message:", config.message);             // config.message: Message from Azure App Configuration
    console.log("config.app.greeting:", config.app.greeting);   // config.app.greeting: Hello World
    console.log("config.app.json:", config.app.json);           // config.app.json: { myKey: 'myValue' }
}

run().catch(console.error);

Przykład 2. Ładowanie określonych klucz-wartości przy użyciu selektorów

W tym przykładzie załadujesz podzbiór klucz-wartości, określając selectors opcję. Ładowane są tylko klucze rozpoczynające się od "aplikacji". Należy pamiętać, że można określić wiele selektorów w zależności od potrzeb, z których każda ma keyFilter właściwości i labelFilter .

const { load } = require("@azure/app-configuration-provider");
const connectionString = process.env.AZURE_APPCONFIG_CONNECTION_STRING;

async function run() {
    console.log("Sample 2: Load specific key-values using selectors");

    // Load a subset of keys starting with "app." prefix.
    const settings = await load(connectionString, {
        selectors: [{
            keyFilter: "app.*"
        }],
    });

    console.log("---Consume configuration as a Map---");
    // The key "message" is not loaded as it does not start with "app."
    console.log('settings.has("message"):', settings.has("message"));           // settings.has("message"): false
    // The key "app.greeting" is loaded
    console.log('settings.has("app.greeting"):', settings.has("app.greeting")); // settings.has("app.greeting"): true
    // The key "app.json" is loaded
    console.log('settings.has("app.json"):', settings.has("app.json"));         // settings.has("app.json"): true

    console.log("---Consume configuration as an object---");
    // Construct configuration object from loaded key-values
    const config = settings.constructConfigurationObject({ separator: "." });
    // Use dot-notation to access configuration
    console.log("config.message:", config.message);         // config.message: undefined
    console.log("config.app.greeting:", config.greeting);   // config.app.greeting: Hello World
    console.log("config.app.json:", config.json);           // config.app.json: { myKey: 'myValue' }
}

run().catch(console.error);

Przykład 3. Ładowanie wartości kluczy i prefiksu przycinania z kluczy

W tym przykładzie załadujesz klucz-wartości za pomocą opcji trimKeyPrefixes. Po załadowaniu wartości klucza prefiks "aplikacja" zostanie przycięty ze wszystkich kluczy. Jest to przydatne, gdy chcesz załadować konfiguracje specyficzne dla aplikacji przez filtrowanie do określonego prefiksu klucza, ale nie chcesz, aby kod był przenoszony z prefiksem za każdym razem, gdy uzyskuje dostęp do konfiguracji.

const { load } = require("@azure/app-configuration-provider");
const connectionString = process.env.AZURE_APPCONFIG_CONNECTION_STRING;

async function run() {
    console.log("Sample 3: Load key-values and trim prefix from keys");

    // Load all key-values with no label, and trim "app." prefix from all keys.
    const settings = await load(connectionString, {
        selectors: [{
            keyFilter: "app.*"
        }],
        trimKeyPrefixes: ["app."]
    });

    console.log("---Consume configuration as a Map---");
    // The original key "app.greeting" is trimmed as "greeting".
    console.log('settings.get("greeting"):', settings.get("greeting")); // settings.get("greeting"): Hello World
    // The original key "app.json" is trimmed as "json".
    console.log('settings.get("json"):', settings.get("json"));         // settings.get("json"): { myKey: 'myValue' }

    console.log("---Consume configuration as an object---");
    // Construct configuration object from loaded key-values with trimmed keys.
    const config = settings.constructConfigurationObject();
    // Use dot-notation to access configuration
    console.log("config.greeting:", config.greeting);   // config.greeting: Hello World
    console.log("config.json:", config.json);           // config.json: { myKey: 'myValue' }
}

run().catch(console.error);

Uruchamianie aplikacji

  1. Ustaw zmienną środowiskową o nazwie AZURE_APPCONFIG_CONNECTION_STRING i ustaw ją na parametry połączenia magazynu App Configuration. W wierszu polecenia uruchom następujące polecenie:

    Aby uruchomić aplikację lokalnie przy użyciu wiersza polecenia systemu Windows, uruchom następujące polecenie i zastąp <app-configuration-store-connection-string> parametry połączenia magazynu konfiguracji aplikacji:

    setx AZURE_APPCONFIG_CONNECTION_STRING "<app-configuration-store-connection-string>"
    
  2. Wydrukuj wartość zmiennej środowiskowej, aby sprawdzić, czy jest ona poprawnie ustawiona za pomocą następującego polecenia.

    Korzystając z wiersza polecenia systemu Windows, uruchom ponownie wiersz polecenia, aby zezwolić na wprowadzenie zmiany i uruchomić następujące polecenie:

    echo %AZURE_APPCONFIG_CONNECTION_STRING%
    
  3. Po poprawnym ustawieniu zmiennej środowiskowej uruchom następujące polecenie, aby uruchomić aplikację lokalnie:

    node app.js
    

    Powinny zostać wyświetlone następujące dane wyjściowe dla każdego przykładu:

    Przykład 1

    Sample 1: Load key-values with default selector
    ---Consume configuration as a Map---
    settings.get("message"): Message from Azure App Configuration
    settings.get("app.greeting"): Hello World
    settings.get("app.json"): { myKey: 'myValue' }
    ---Consume configuration as an object---
    config.message: Message from Azure App Configuration
    config.app.greeting: Hello World
    config.app.json: { myKey: 'myValue' }
    

    Przykład 2

    Sample 2: Load specific key-values using selectors
    ---Consume configuration as a Map---
    settings.has("message"): false
    settings.has("app.greeting"): true
    settings.has("app.json"): true
    ---Consume configuration as an object---
    config.message: undefined
    config.app.greeting: Hello World
    config.app.json: { myKey: 'myValue' }
    

    Przykład 3

    Sample 3: Load key-values and trim prefix from keys
    ---Consume configuration as a Map---
    settings.get("greeting"): Hello World
    settings.get("json"): { myKey: 'myValue' }
    ---Consume configuration as an object---
    config.greeting: Hello World
    config.json: { myKey: 'myValue' }
    

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 przypadkowo nieprawidłowej grupy zasobów ani 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. Zobaczysz prośbę 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

W tym przewodniku Szybki start utworzono nowy magazyn usługi App Configuration i przedstawiono sposób uzyskiwania dostępu do par klucz-wartości przy użyciu dostawcy JavaScript usługi App Configuration w aplikacji Node.js.

Aby uzyskać więcej przykładów kodu, odwiedź stronę: