ネスト構造のアプリケーション設定
アプリケーション設定で、ネスト構造のキーを構成する場合、設定方法によって、指定の仕方が異なります。
appsettings.json
で、以下の構造を構成したとします。
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"azCosmosDb": {
"connectionString": "xxxxxx",
"databaseId": "xxxxxxx"
}
}
コード上では、階層を :
で区切ってキーを指定します。
azCosmosDb:connectionString
azCosmosDb:databaseId
以下は、IConfiguration を DI で取得して、キーを指定して値を取得するコード例です。
public ItemsAzCosmosDbDataGateway(
IConfiguration configuration,
ILogger<ItemsAzCosmosDbDataGateway> logger)
{
_connectionString = configuration["azCosmosDb:connectionString"]
?? throw new InvalidOperationException();
_databaseId = configuration["azCosmosDb:databaseId"]
?? throw new InvalidOperationException();
_logger = logger;
}
Azure App Service の Application settings
Azure App Service (Windows) の [構成] - [Application settings] で、キーを指定する場合、キーの階層を :
で区切って設定します。
コード上でキーを指定する場合と同じなので、特に問題はないかと思います。
azCosmosDb:connectionString
azCosmosDb:databaseId
Azure App Service on Linux の Application settings
Azure App Service on Linux の場合、キーの階層を __
で区切ってキーを設定します。ぱっとみると分かりにくいですが、アンダースコアを二つ指定します。
azCosmosDb__connectionString
azCosmosDb__databaseId
Azure App Service on Linux が特殊ですね。もちろん、コードは、変更することなく、:
の区切りのままで良いです。
知ってればなんてことないとだと思いますが、私自身が、忘れがちなので。
以上、参考までに。
コメント (0)
コメントの投稿