はじめに
先週より試してみている機能の一つとして、アプリの設定や機能フラグを一元的に管理するためのサービスとしてAzure App Configurationというものがあります。
上のドキュメントを読んでもあまり嬉しさがわからないのですが、その嬉しさを理解するためにもSpring Bootアプリで試してみることにしました。今回は機能フラグを試してみました。
先週試した記事は以下の通り。
サンプル
例によってクイックスタートがあるので、それに従って実装します。
例によって幾つか注意点がありましたので、それを書いていきます。
ライブラリのバージョン
前回に続き、ライブラリをバージョンを確認します。今回はcom.azure.spring:azure-spring-cloud-feature-management-web
を追加したので、そのライブラリの最新バージョンをMaven Repositoryで確認します。
Azure App ConfigurationのFeature Managementのドキュメント
チュートリアルだけを書くのはあまり身につかないので、合わせてドキュメントを見てみます。
今回は試していませんが、いろんな細かい制御ができるようです。
実装
実装としては、FeatureManager
のisEnabledAsync
メソッドを使って機能のオン/オフを確認します。
featureManager.isEnabledAsync("Beta").block()
isEnabledAsync
の引数はApp ConfigurationのFeature managerで設定したNameの値を指定します。
Enabledにチェックを入れたらその瞬間に有効化され、保存ボタンとかは無いようです。
アプリは、再起動しないと反映されませんでした。
挙動
App ConfigurationのFeature managerでEnabledにチェックを入れていない状態で起動するとヘッダー部分にあるHomeとPrivacyには何も表示されていません。
App ConfigurationのFeature managerでEnabledにチェックを入れた状態で起動すると、ヘッダー部分にあるHomeとPrivacyにはBetaが表示されています。
ソース
ここまでのソースは以下のものです。