App Configuration で Key Vault 参照している設定値をAzure Functions (.NET インプロセス) から読み出す方法のメモ
ポイント
-
Startup
クラスでAddAzureAppConfiguration
する。 - Azure Functions は Managed ID を有効化し、Key Vaultへのアクセスできるようにしておく(RBAC or アクセスポリシー)
Startup.cs
using System;
using Microsoft.Azure.Functions.Extensions.DependencyInjection;
using Microsoft.Extensions.Configuration;
using Azure.Identity;
[assembly: FunctionsStartup(typeof(Company.Function.Startup))]
namespace Company.Function
{
class Startup : FunctionsStartup
{
public override void ConfigureAppConfiguration(IFunctionsConfigurationBuilder builder)
{
string cs = Environment.GetEnvironmentVariable("AppConfigurationConnectionString");
builder.ConfigurationBuilder.AddAzureAppConfiguration(options =>
{
options.Connect(cs)
.ConfigureKeyVault(kv =>
{
kv.SetCredential(new DefaultAzureCredential());
});
});
}
public override void Configure(IFunctionsHostBuilder builder)
{
}
}
}
参考