ASP.NET Coreアプリーションにおいて構成は不可欠である。
これにより、データベースの接続情報やストレージの接続情報などやさまざまなサービスの接続情報やトークンといったものをプログラム本体に記述せずに外部から与えることができる。
しかし、こういった情報はローカル開発時や開発環境、ステージング環境、本番環境といった環境に応じて接続先が異なり変えていきたいといった要求がある。
これらは、App Serviceなどのサービス側に記述していくにはどうしたらよいかということについて書いていきたい。
ローカル側では通常、appsettings.jsonにJSON形式で記述されるのがデフォルトとなっている。
ASP.NET Coreアプリでデフォルトで記述されている構成の例を取って今後説明していきたい。
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
}
上記の例ですと、Logging→LogLevelの中にDefaultというキーとMicrosoft.AspNetCoreというキーがありそれぞれInfomationとWarningというValueが格納されています。
さらに、AlloedHostsというキーに*というValueが格納されています。
では、これをApp Serviceの構成に格納する例を見ていきたいと思います。
App Service側ではappsettings.jsonでいう階層の区切りは「__」2つのアンダースコアで区切るという規則があるので一つ目を例に取ると以下のようになります。
名前:Logging__LogLevel__Default
値:Information
同様に
名前:Logging__LogLevel__Microsoft.AspNetCore
値:Warning
名前:AllowedHosts
値:*
以上のように書けます。