次の方法で共有


クイックスタート: Node.js コンソール アプリに機能フラグを追加する

このクイックスタートでは、Azure App Configuration を Node.js コンソール アプリに組み込み、機能管理のエンドツーエンド実装を作成します。 App Configuration を使用し、すべての機能フラグを一箇所に格納し、その状態を制御できます。

JavaScript 機能管理ライブラリは、機能フラグのサポートにより、フレームワークを拡張します。 JavaScript 構成プロバイダーを介して、App Configuration とシームレスに統合されます。 例として、このチュートリアルでは、Node.js アプリで JavaScript 機能管理を使う方法を示します。

前提条件

機能フラグを追加する

Beta という機能フラグを App Configuration ストアに追加し、[ラベル][説明] を既定値のままにします。 Azure portal または CLI を使用してストアに機能フラグを追加する方法の詳細については、「機能フラグを作成する」を参照してください。

Beta という名前の機能フラグを有効にする

機能フラグを使用する

  1. npm install コマンドを使用して機能管理をインストールします。

    npm install @microsoft/feature-management
    
  2. 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);
    

アプリケーションの実行

  1. AZURE_APPCONFIG_CONNECTION_STRING という名前の環境変数を設定し、それを App Configuration ストアへの接続文字列に設定します。 コマンド ラインで次のコマンドを実行します。

    ローカル環境で Windows コマンド プロンプトを使用してアプリを実行するには、次のコマンドを実行します。<app-configuration-store-connection-string> を実際のアプリ構成ストアの接続文字列に置き換えてください。

    setx AZURE_APPCONFIG_CONNECTION_STRING "<app-configuration-store-connection-string>"
    
  2. 次のコマンドを実行して、アプリをローカルで実行します。

    node app.js
    
  3. Beta 機能フラグが無効になっているため、次のコンソール出力が表示されます。

    Beta is enabled: false
    
  4. Azure portal にサインインします。 [すべてのリソース] を選択し、自分が前に作成した App Configuration ストアを選択します。

  5. [機能マネージャー] を選択し、[Beta] 機能フラグを見つけます。 [有効] のチェック ボックスをオンにして、フラグを有効にします。

  6. 数秒待つと、コンソールの出力が変更されます。

    Beta is enabled: true