Создание приложения Node.js с помощью пакета SDK Azure для JavaScript
В этом документе показаны примеры использования пакета SDK Azure для JavaScript для доступа к значениям ключей в Конфигурация приложений Azure.
Совет
Конфигурация приложений предлагает библиотеку поставщиков JavaScript, созданную на основе пакета SDK javaScript, и предназначена для упрощения использования с более богатыми функциями. Он позволяет использовать такие параметры конфигурации, как объект Map, и предлагает другие функции, такие как композиция конфигурации из нескольких меток, обрезка имени ключа и автоматическое разрешение ссылок Key Vault. Дополнительные сведения см. в кратком руководстве по JavaScript.
Необходимые компоненты
- Учетная запись Azure с активной подпиской — создание учетной записи Azure бесплатно
- Хранилище Конфигурация приложений. Создайте хранилище.
- LTS версии Node.js. Дополнительные сведения об установке Node.js непосредственно на Windows или с помощью подсистемы Windows для Linux см. в статье Приступая к работе с Node.js
Создание ключа-значение
Добавьте следующее ключевое значение в хранилище Конфигурация приложений и оставьте метку и тип контента со значениями по умолчанию. Дополнительные сведения о добавлении значений ключей в хранилище с помощью портал Azure или ИНТЕРФЕЙСА командной строки см. в разделе "Создание значения ключа".
Ключ | Значение |
---|---|
TestApp:Settings:FontSize | Данные из конфигурации приложения Azure |
Настройка приложения Node.js
В этом руководстве вы создадите каталог для проекта с именем app-configuration-example.
mkdir app-configuration-example
Перейдите в только что созданный каталог app-configuration-example .
cd app-configuration-example
Установите клиентскую библиотеку конфигурации приложений Azure с помощью команды
npm install
.npm install @azure/app-configuration
Создайте файл с именем 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.
Настройка строки подключения в конфигурации приложения
Задайте переменную среды с именем AZURE_APPCONFIG_CONNECTION_STRING и задайте для нее строка подключения хранилища Конфигурация приложений. В командной строке выполните следующую команду:
Чтобы запустить приложение локально с помощью командной строки Windows, выполните следующую команду и замените
<app-configuration-store-connection-string>
строка подключения хранилища конфигурации приложения:setx AZURE_APPCONFIG_CONNECTION_STRING "<app-configuration-store-connection-string>"
Выведите значение переменной среды, чтобы убедиться, что она задана правильно с помощью приведенной ниже команды.
С помощью командной строки 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}`);
Разблокировать параметр конфигурации
Если атрибут readOnly
ConfigurationSetting
равен 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!
Очистка ресурсов
Если вы не планируете в дальнейшем использовать ресурсы, созданные при работе с этой статьей, удалите созданную группу ресурсов, чтобы избежать расходов.
Важно!
Удаление группы ресурсов — процесс необратимый. Группа ресурсов и все содержащиеся в ней ресурсы удаляются без возможности восстановления. Будьте внимательны, чтобы случайно не удалить не те ресурсы или группу ресурсов. Если ресурсы для работы с этой статьей созданы в группе ресурсов, которая содержит другие нужные ресурсы, удалите каждый ресурс отдельно в соответствующей области ресурса, чтобы не удалять группу ресурсов.
- Войдите на портал Azure и выберитеГруппы ресурсов.
- Введите имя группы ресурсов в поле Фильтровать по имени.
- В списке результатов выберите имя группы ресурсов, чтобы просмотреть общие сведения.
- Выберите команду Удалить группу ресурсов.
- Подтвердите операцию удаления группы ресурсов. Введите имя группы ресурсов, которую необходимо удалить, и нажмите Удалить.
Через некоторое время группа ресурсов и все ее ресурсы будут удалены.
Следующие шаги
В этом руководстве показано, как использовать пакет SDK Azure для JavaScript для доступа к значениям ключей в Конфигурация приложений Azure.
Дополнительные примеры кода см. здесь:
Чтобы узнать, как использовать Конфигурация приложений Azure с приложениями JavaScript, перейдите к следующим сведениям: