私もあなたと同じ意見ですが、このようなシナリオでKey Vaultを使用しても意味がありません。
代わりに、Azure App Configuration https://docs.microsoft.com/en-us/azure/azure-app-configuration/overviewを利用します。ここでは、すべてのアプリケーション設定を保存します。そして、実際のapp service / func / webジョブ内に一緒に保存する唯一の文字列は、Azure App Configurationにアクセスするための接続文字列です。
構成設定が適用される私のスタートアップでは、.. settings.jsonから読み取り、存在しない場合(Azureで実行している場合は存在しないはずです)、Azure App Configurationへの接続文字列を探します。
..settings.jsonが見つかった場合は、ローカルで実行していることを意味します。
..settings.jsonがgitignoreファイルにない場合は暗号化されます。
次のようになります。
var appConfigEndpoint = Environment.GetEnvironmentVariable("AppConfigEndpoint");
var appConfigLabel = Environment.GetEnvironmentVariable("AppConfigLabel");
if (!string.IsNullOrEmpty(appConfigEndpoint))
{
config.AddAzureAppConfiguration(options =>
{
options.Connect(appConfigEndpoint);
options.Use(keyFilter: "*", labelFilter: appConfigLabel);
});
}
else
{
config.AddJsonFile("appsettings.test.json", optional: false);
}