このクイック スタートでは、Azure App Configurationで機能フラグを作成し、それを使用して Spring Boot アプリを動的に制御し、機能管理のエンドツーエンドの実装を作成します。
Spring Boot Feature Management ライブラリは、Azure ライブラリに依存<>しません。 また、Spring Boot 構成プロバイダーを介して、App Configuration とシームレスに統合されます。
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料で作成できます。
- "App Configuration ストアは、ストアを作成するためのチュートリアルに示されているように設置されています。"
- バージョン 17 でサポートされている Java Development Kit SDK 。
- Apache Maven バージョン 3.0 以降。
機能フラグを追加する
Beta という機能フラグを App Configuration ストアに追加し、[ラベル] と [説明] を既定値のままにします。 Azure portal または CLI を使用してストアに機能フラグを追加する方法の詳細については、「機能フラグを作成する」を参照してください。 この段階で、[機能フラグを有効にする] チェック ボックスをオフにする必要があります。
コンソール アプリを作成する
新しい Spring Boot プロジェクトを作成します。
Spring Initializr に移動します。
次のオプションを指定します。
- Java で Maven プロジェクトを生成します。
- 3.0 以上の Spring Boot バージョンを指定します。
- アプリケーションのグループ (Group) と成果物 (Artifact) の名前を指定します。 この記事では、
com.exampleとdemoを使用します。
前の各オプションを指定してから、[プロジェクトの生成] を選択します。 ローカル コンピューターにプロジェクトをダウンロードして展開します。
アプリのルート ディレクトリで pom.xml を見つけて、テキスト エディターで開きます。
<dependencies>の一覧に次を追加します。<dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-cloud-azure-appconfiguration-config</artifactId> </dependency> <dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-cloud-azure-feature-management</artifactId> </dependency>Spring Cloud Azure ライブラリのバージョンを管理するには、次の
<dependencyManagement>セクションを追加します。<dependencyManagement> <dependencies> <dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-cloud-azure-dependencies</artifactId> <version>7.2.0</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>アプリの
resourcesディレクトリに移動し、application.propertiesまたはapplication.yamlファイルを開きます。DefaultAzureCredentialを使って、App Configuration ストアに対する認証を行います。 承認を機能させるには、アプリが使用する資格情報に アプリ構成データ閲覧者 ロールを付与する必要があります。 手順については、「 トークン資格情報を使用した認証」を参照してください。アプリケーションを実行する前に、アクセス許可が反映されるまでの十分な時間を確保してください。次のコードを使用して、アプリのパッケージ ディレクトリ内の
DemoApplication.javaファイルを更新します。import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Bean; import com.azure.spring.cloud.feature.management.FeatureManager; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } @Bean public CommandLineRunner runner(FeatureManager featureManager) { return args -> { System.out.println("Beta is enabled: " + featureManager.isEnabled("Beta")); }; } }AZURE_APPCONFIG_ENDPOINTという名前の環境変数を設定し、App Configuration ストアのエンドポイントに設定します。 コマンド ラインで次のコマンドを実行してコマンド プロンプトを再起動し、変更が反映されるようにします。
setx AZURE_APPCONFIG_ENDPOINT "<endpoint-of-your-app-configuration-store>"変更を有効にするために、コマンド プロンプトを再起動します。 この環境変数の値を出力して、正しく設定されていることを確認します。
Maven を使用して Spring Boot アプリケーションをビルドして実行します。
mvn clean package mvn spring-boot:runApp Configuration ポータルで [機能マネージャー] を選択し、[有効化] 列のトグルを使用して、Beta 機能フラグの状態をオンに変更します。
鍵 状態 ベータ On アプリケーションを再起動します アプリケーションによって次の内容が出力されます。
Beta is enabled: true
リソースをクリーンアップする
この記事で作成したリソースを継続して使用しない場合は、ここで作成したリソース グループを削除して課金されないようにしてください。
重要
リソース グループを削除すると、元に戻すことができません。 リソース グループとそのすべてのリソースは完全に削除されます。 間違ったリソース グループやリソースをうっかり削除しないようにしてください。 この記事のリソースを、保持したい他のリソースを含むリソース グループ内に作成した場合は、リソース グループを削除する代わりに、各リソースをそれぞれのペインから個別に削除します。
- Azure portal にサインインし、[リソース グループ] を選択します。
- [名前でフィルター] ボックスにリソース グループの名前を入力します。
- 結果一覧でリソース グループ名を選択し、概要を表示します。
- [リソース グループの削除] を選択します。
- リソース グループの削除の確認を求めるメッセージが表示されます。 確認のためにリソース グループの名前を入力し、[削除] を選択します。
しばらくすると、リソース グループとそのすべてのリソースが削除されます。
次のステップ
このクイック スタートでは、新しい App Configuration ストアを作成し、それを使用して 機能管理ライブラリを使用して Spring Boot アプリの機能を管理しました。