Создание приложения Node.js с помощью пакета SDK Azure для JavaScript

В этом документе показаны примеры использования пакета SDK Azure для JavaScript для доступа к значениям ключей в Конфигурация приложений Azure.

Совет

Конфигурация приложений предлагает библиотеку поставщиков JavaScript, созданную на основе пакета SDK javaScript, и предназначена для упрощения использования с более богатыми функциями. Он позволяет использовать такие параметры конфигурации, как объект Map, и предлагает другие функции, такие как композиция конфигурации из нескольких меток, обрезка имени ключа и автоматическое разрешение ссылок Key Vault. Дополнительные сведения см. в кратком руководстве по JavaScript.

Необходимые компоненты

Создание ключа-значение

Добавьте следующее ключевое значение в хранилище Конфигурация приложений и оставьте метку и тип контента со значениями по умолчанию. Дополнительные сведения о добавлении значений ключей в хранилище с помощью портал Azure или ИНТЕРФЕЙСА командной строки см. в разделе "Создание значения ключа".

Ключ Значение
TestApp:Settings:FontSize Данные из конфигурации приложения Azure

Настройка приложения Node.js

  1. В этом руководстве вы создадите каталог для проекта с именем app-configuration-example.

    mkdir app-configuration-example
    
  2. Перейдите в только что созданный каталог app-configuration-example .

    cd app-configuration-example
    
  3. Установите клиентскую библиотеку конфигурации приложений Azure с помощью команды npm install.

    npm install @azure/app-configuration
    
  4. Создайте файл с именем app-configuration-example.js в каталоге app-configuration-example и добавьте следующий код:

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

Примечание.

Фрагменты кода в этом примере помогут приступить к работе с клиентской библиотекой Конфигурация приложений для JavaScript. Для приложения также рекомендуется предусмотреть обработку исключений в соответствии с вашими потребностями. Дополнительные сведения об обработке исключений см. в документации по пакету SDK для JavaScript.

Настройка строки подключения в конфигурации приложения

  1. Задайте переменную среды с именем AZURE_APPCONFIG_CONNECTION_STRING и задайте для нее строка подключения хранилища Конфигурация приложений. В командной строке выполните следующую команду:

    Чтобы запустить приложение локально с помощью командной строки Windows, выполните следующую команду и замените <app-configuration-store-connection-string> строка подключения хранилища конфигурации приложения:

    setx AZURE_APPCONFIG_CONNECTION_STRING "<app-configuration-store-connection-string>"
    
  2. Выведите значение переменной среды, чтобы убедиться, что она задана правильно с помощью приведенной ниже команды.

    С помощью командной строки Windows перезапустите командную строку, чтобы разрешить изменение вступило в силу и выполните следующую команду:

    echo %AZURE_APPCONFIG_CONNECTION_STRING%
    

Примеры кода

Пример фрагментов кода в этом разделе показывает, как выполнять распространенные операции с клиентской библиотекой Конфигурация приложений для JavaScript. Добавьте эти фрагменты кода в текст run функции в файле app-configuration-example.js , созданном ранее.

Примечание.

Клиентская библиотека конфигурации приложений ссылается на объект типа "ключ-значение" как на ConfigurationSetting. Поэтому в этой статье пары ключ-значение в хранилище конфигураций приложений будут называться параметрами конфигурации.

Узнайте ниже, как:

Подключение к хранилищу Конфигурации приложений

В следующем фрагменте кода с использованием строки подключения, хранящейся в переменных среды, создается экземпляр AppConfigurationClient.

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

Получить параметр конфигурации

Следующий фрагмент кода извлекает параметр конфигурации по имени key.

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

Добавить параметр конфигурации

В следующем фрагменте кода создается объект ConfigurationSetting с полями key и value и вызывается метод addConfigurationSetting. Этот метод вызовет исключение при попытке добавить параметр конфигурации, который уже существует в хранилище. Если вы хотите избежать этого исключения, вместо этого можно использовать метод 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}`);

Получение списка параметров конфигурации

Следующий фрагмент кода извлекает список параметров конфигурации. Аргументы keyFilter и labelFilter могут быть предоставлены для фильтрации пар "ключ-значение" на основе key и label, соответственно. Дополнительные сведения о фильтрации см. в разделе Параметры конфигурации запросов.

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

Заблокировать параметр конфигурации

Состояние блокировки пары "ключ-значение" в конфигурации приложения обозначается атрибутом readOnly объекта ConfigurationSetting. Если readOnly равен true, параметр блокируется. Метод setReadOnly можно вызвать в true качестве второго аргумента, чтобы заблокировать параметр конфигурации.

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

Разблокировать параметр конфигурации

Если атрибут readOnlyConfigurationSetting равен false, этот параметр разблокируется. Этот setReadOnly метод можно вызвать в false качестве второго аргумента для разблокировки параметра конфигурации.

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

Обновить параметр конфигурации

Метод setConfigurationSetting можно использовать для обновления существующего параметра или создания нового параметра. Следующий фрагмент кода изменяет значение существующего параметра конфигурации.

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

Удалить параметр конфигурации

Следующий фрагмент кода удаляет параметр конфигурации по имени key.

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

Выполнить приложение

В этом примере вы создали приложение Node.js, которое использует клиентская библиотека Конфигурация приложений Azure для получения параметра конфигурации, созданного с помощью портал Azure, добавления нового параметра, получения списка существующих параметров, блокировки и разблокировки параметра, обновления параметра и, наконец, удаления.

На этом этапе файл app-configuration-example.js должен иметь следующий код:

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

В окне консоли перейдите в каталог, содержащий файл app-configuration-example.js , и выполните следующую команду, чтобы запустить приложение:

node app.js

Должен появиться следующий результат:

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!

Очистка ресурсов

Если вы не планируете в дальнейшем использовать ресурсы, созданные при работе с этой статьей, удалите созданную группу ресурсов, чтобы избежать расходов.

Важно!

Удаление группы ресурсов — процесс необратимый. Группа ресурсов и все содержащиеся в ней ресурсы удаляются без возможности восстановления. Будьте внимательны, чтобы случайно не удалить не те ресурсы или группу ресурсов. Если ресурсы для работы с этой статьей созданы в группе ресурсов, которая содержит другие нужные ресурсы, удалите каждый ресурс отдельно в соответствующей области ресурса, чтобы не удалять группу ресурсов.

  1. Войдите на портал Azure и выберитеГруппы ресурсов.
  2. Введите имя группы ресурсов в поле Фильтровать по имени.
  3. В списке результатов выберите имя группы ресурсов, чтобы просмотреть общие сведения.
  4. Выберите команду Удалить группу ресурсов.
  5. Подтвердите операцию удаления группы ресурсов. Введите имя группы ресурсов, которую необходимо удалить, и нажмите Удалить.

Через некоторое время группа ресурсов и все ее ресурсы будут удалены.

Следующие шаги

В этом руководстве показано, как использовать пакет SDK Azure для JavaScript для доступа к значениям ключей в Конфигурация приложений Azure.

Дополнительные примеры кода см. здесь:

Чтобы узнать, как использовать Конфигурация приложений Azure с приложениями JavaScript, перейдите к следующим сведениям: