你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
快速入门:向 Node.js 控制台应用添加功能标志
在本快速入门中,你要将 Azure 应用程序配置整合到 Node.js 控制台应用中,以创建功能管理的端到端实现。 可以使用应用配置集中存储所有功能标志并控制其状态。
JavaScript 功能管理库通过功能标志支持扩展了该框架。 它们可以通过其 JavaScript 配置提供程序与应用程序配置无缝集成。 作为示例,本教程演示了如何在 Node.js 应用中使用 JavaScript 功能管理。
先决条件
- 具有活动订阅的 Azure 帐户。 免费创建一个。
- 应用程序配置存储区。 创建存储区。
- LTS 版本的 Node.js。 有关直接在 Windows 上或使用适用于 Linux 的 Windows 子系统 (WSL) 安装 Node.js 的信息,请参阅 Node.js 入门
添加功能标志
将名为“Beta”的功能标志添加到应用程序配置存储区,并将“标签”和“描述”保留为其默认值。 有关如何使用 Azure 门户或 CLI 将功能标志添加到存储区的详细信息,请转到创建功能标志。
使用功能标志
使用
npm install
命令安装功能管理。npm install @microsoft/feature-management
创建名为 app.js 的文件,并添加以下代码。
const sleepInMs = require("util").promisify(setTimeout); const { load } = require("@azure/app-configuration-provider"); const { FeatureManager, ConfigurationMapFeatureFlagProvider} = require("@microsoft/feature-management") const connectionString = process.env.AZURE_APPCONFIG_CONNECTION_STRING; async function run() { // Connect to Azure App Configuration using connection string const settings = await load(connectionString, { featureFlagOptions: { enabled: true, // Note: selectors must be explicitly provided for feature flags. selectors: [{ keyFilter: "*" }], refresh: { enabled: true, refreshIntervalInMs: 10_000 } } }); // Create a feature flag provider which uses a map as feature flag source const ffProvider = new ConfigurationMapFeatureFlagProvider(settings); // Create a feature manager which will evaluate the feature flag const fm = new FeatureManager(ffProvider); while (true) { await settings.refresh(); // Refresh to get the latest feature flag settings const isEnabled = await fm.isEnabled("Beta"); // Evaluate the feature flag console.log(`Beta is enabled: ${isEnabled}`); await sleepInMs(5000); } } run().catch(console.error);
运行应用程序
设置名为 AZURE_APPCONFIG_CONNECTION_STRING 的环境变量,并将其设置为应用程序配置存储的连接字符串。 在命令行中运行以下命令:
要使用 Windows 命令提示符在本地运行应用,请运行以下命令并将
<app-configuration-store-connection-string>
替换为你的应用程序配置存储的连接字符串:setx AZURE_APPCONFIG_CONNECTION_STRING "<app-configuration-store-connection-string>"
运行以下命令,以在本地运行应用:
node app.js
由于禁用了 Beta 版功能标志,你将看到以下控制台输出。
Beta is enabled: false
登录到 Azure 门户。 选择“所有资源”,然后选择先前创建的应用程序配置存储。
选择“功能管理器”并找到“Beta”功能标志。 通过选中“已启用”下的复选框来启用该标志。
等待几秒钟,然后你将看到控制台输出更改。
Beta is enabled: true