クイックスタート: Node.js コンソール アプリに機能フラグを追加する
このクイックスタートでは、Azure App Configuration を Node.js コンソール アプリに組み込み、機能管理のエンドツーエンド実装を作成します。 App Configuration を使用し、すべての機能フラグを一箇所に格納し、その状態を制御できます。
JavaScript 機能管理ライブラリは、機能フラグのサポートにより、フレームワークを拡張します。 JavaScript 構成プロバイダーを介して、App Configuration とシームレスに統合されます。 例として、このチュートリアルでは、Node.js アプリで JavaScript 機能管理を使う方法を示します。
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料で作成できます。
- App Configuration ストア。 ストアを作成する。
- Node.js の LTS バージョン。 Node.js を Windows に直接インストールするか、Linux 用 Windows サブシステム (WSL) を使用してインストールする方法については、「Node.js の概要」を参照してください。
機能フラグを追加する
Beta という機能フラグを App Configuration ストアに追加し、[ラベル] と [説明] を既定値のままにします。 Azure portal または 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 という名前の環境変数を設定し、それを App Configuration ストアへの接続文字列に設定します。 コマンド ラインで次のコマンドを実行します。
ローカル環境で 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 portal にサインインします。 [すべてのリソース] を選択し、自分が前に作成した App Configuration ストアを選択します。
[機能マネージャー] を選択し、[Beta] 機能フラグを見つけます。 [有効] のチェック ボックスをオンにして、フラグを有効にします。
数秒待つと、コンソールの出力が変更されます。
Beta is enabled: true