2

TL;DR: Azure Function v1 でマネージド サービス ID を使用して、Azure App Configuration を介して構成するにはどうすればよいですか?

.NET Framework を使用して Azure Function v1 内から Azure App Configuration を利用しようとしています。理想的にはConfigurationBuildersを利用したいと思います。

これはSimpleJsonConfigBuilder、開発マシンで実行するときにクラスを使用AzureAppConfigurationBuilderし、Azure でホストするときに使用することを意味します。

Web API プロジェクトで動作するようになりましたが、Azure 関数に関しては行き詰まっています。

私が見ている問題は、Azure Function ホストが独自の web.config を使用しているため、Web プロジェクトで使用する構成で変更できないことです。

<configuration>
  <configSections>
    <section name="configBuilders" type="System.Configuration.ConfigurationBuildersSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" restartOnExternalChanges="false" requirePermission="false" />
  </configSections>
  <configBuilders>
    <builders>
      <add name="Environment" type="Microsoft.Configuration.ConfigurationBuilders.EnvironmentConfigBuilder, Microsoft.Configuration.ConfigurationBuilders.Environment, Version=1.0.0.0, Culture=neutral" />
      <add name="Json" optional="true" mode="Greedy" jsonFile="~/App_Data/settings.json" type="Microsoft.Configuration.ConfigurationBuilders.SimpleJsonConfigBuilder, Microsoft.Configuration.ConfigurationBuilders.Json, Version=1.0.0.0, Culture=neutral" />
      <add name="AzureViaConnectionString" optional="true" mode="Greedy" connectionString="${AppConfigConnectionString}" type="Microsoft.Configuration.ConfigurationBuilders.AzureAppConfigurationBuilder, Microsoft.Configuration.ConfigurationBuilders.AzureAppConfiguration" />
      <add name="AzureViaMsi" optional="true" mode="Greedy" endPoint="${AppConfigEndpoint}" type="Microsoft.Configuration.ConfigurationBuilders.AzureAppConfigurationBuilder, Microsoft.Configuration.ConfigurationBuilders.AzureAppConfiguration" />
    </builders>
  </configBuilders>
  <appSettings configBuilders="Environment,Json">
...

xml構成を使用しない場合でも、これは不可能だとConfigurationManager.AppSettings思いますが、ConfigBuilderで発生するように変更する方法はありますか?

ConfigurationManager.AppSettingsアクセスしている時点では読み取り専用であるため、自分で更新することはできません。

IAppSettingsAzure App Configuration REST API を使用するための実装を記述したインターフェイスがあります。ただし、これは、マネージド サービス ID を使用できるのではなく、サービスに関連付けられたシークレットを通常の関数アプリの設定に格納することを意味します。

さらに、関数ランタイムは、コードを実行するポイントに到達する前に、いくつかの他の設定を必要とします。つまり、すべての設定を標準の場所から移動することはできません。

Azure Functions V2 への移行は現在実行できません。

4

1 に答える 1