Создание приложения 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.
Примеры кода
Пример фрагментов кода в этом разделе показывает, как выполнять распространенные операции с клиентской библиотекой Конфигурация приложений для JavaScript. Добавьте эти фрагменты кода в текст run
функции в app-configuration-example.js файле, созданном ранее.
Примечание.
Клиентская библиотека конфигурации приложений ссылается на объект типа "ключ-значение" как на ConfigurationSetting
. Поэтому в этой статье пары ключ-значение в хранилище конфигураций приложений будут называться параметрами конфигурации.
Узнайте ниже, как:
- Подключение к хранилищу Конфигурация приложений
- Получить параметр конфигурации
- Добавить параметр конфигурации
- Получение списка параметров конфигурации
- Заблокировать параметр конфигурации
- Разблокировать параметр конфигурации
- Обновить параметр конфигурации
- Удалить параметр конфигурации
Подключение к хранилищу Конфигурации приложений
В следующем фрагменте кода создается экземпляр AppConfigurationClient. Вы можете подключиться к хранилищу Конфигурация приложений с помощью идентификатора Microsoft Entra (рекомендуется) или строка подключения.
Вы используете DefaultAzureCredential
для проверки подлинности в хранилище Конфигурация приложений. Следуйте инструкциям, чтобы назначить учетные данные роли чтения данных Конфигурация приложений. Перед запуском приложения обязательно предоставьте достаточно времени для распространения разрешения.
const { DefaultAzureCredential } = require("@azure/identity");
const { AppConfigurationClient } = require("@azure/app-configuration");
const client = new AppConfigurationClient(
process.env.AZURE_APPCONFIG_ENDPOINT,
new DefaultAzureCredential()
);
Получить параметр конфигурации
Следующий фрагмент кода извлекает параметр конфигурации по имени 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 { 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);
Настройка переменной среды
Настройте переменную среды с помощью идентификатора Microsoft Entra (рекомендуется) или строка подключения.
Задайте переменную среды с именем AZURE_APPCONFIG_ENDPOINT конечной точке хранилища Конфигурация приложений, найденной в разделе "Обзор хранилища" в портал Azure.
Если вы используете командную строку Windows, выполните следующую команду и перезапустите командную строку, чтобы изменения вступили в силу:
setx AZURE_APPCONFIG_ENDPOINT "endpoint-of-your-app-configuration-store"
Если вы используете PowerShell, выполните следующую команду:
$Env:AZURE_APPCONFIG_ENDPOINT = "endpoint-of-your-app-configuration-store"
Если вы используете macOS или Linux, выполните следующую команду:
export AZURE_APPCONFIG_ENDPOINT='<endpoint-of-your-app-configuration-store>'
В окне консоли перейдите в каталог, содержащий файл 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, перейдите к следующим сведениям: