Azure App Configuration は複数のアプリケーションで、アプリケーション設定と機能フラグを一元に管理し共有するサービス。
目次
App Configuration を設定する
Azure App Configuration を作成する。
操作の構成エクスプローラーから「鍵」と「値」を追加する。
App Configuration ストアに接続する
接続文字列
実装
作成した App Configuration の設定からアクセスキーを選択し、読み取り専用キーから接続文字列をコピーする。
Functions のアプリケーション設定に接続文字列を登録する。
Nuget で Azure.Extensions.AspNetCore.Configuration.Secrets をインストールする。
Statup
クラスで、接続文字列を使って Azure App Configuration プロバイダーを追加する。
class Startup : FunctionsStartup { public override void ConfigureAppConfiguration(IFunctionsConfigurationBuilder builder) { builder.ConfigurationBuilder.AddAzureAppConfiguration(builtConfig["AppConfigConnectionString"]); } }
Functions 側は インジェクションした IConfiguration
から App Configuration に追加した鍵で取得できる。
public class Function1 { private readonly IConfiguration _configuration; public Function1(IConfiguration configuration) { _configuration = configuration; } [FunctionName("Function1")] public async Task<IActionResult> Run( [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req, ILogger log) { log.LogInformation(_configuration["AppConfig:ConnectionString"]); return new OkObjectResult("This HTTP triggered function executed successfully."); } }
エンドポイント
Azure Functions に Managed Id を設定
デプロイ済みの Azure Functions の設定から ID を選択する。
システム割り当て済みをオンにする。
App Configuration へのアクセスの許可
App Configuration のアクセス制御(IAM)を選択し、Functions にロールの割り当てを追加する。
実装
App Configuration の設定で読み取り専用キーからエンドポイントをコピーする。
Functions のアプリケーション設定にエンドポイントを登録する。
Statup
クラスで、エンドポイントを使って Azure App Configuration プロバイダーを追加する。
Functions 側は接続文字列の項目と同じ。
class Startup : FunctionsStartup { public override void ConfigureAppConfiguration(IFunctionsConfigurationBuilder builder) { builder.ConfigurationBuilder.AddAzureAppConfiguration(options => options.Connect(new Uri(builtConfig["AppConfigEndpoint"]), new ManagedIdentityCredential())); } }