如何从 Azure 函数中的本地配置存储读取 App 配置存储端点和环境?

How can I read App Configuration Store endpoint and environment from local config store in azure functions?

我正在将我们的配置从我们的本地配置存储移动到我们所有 Azure Functions 的中央应用程序配置存储。

我创建了一个startup.cs,代码如下

public override void ConfigureAppConfiguration(IFunctionsConfigurationBuilder builder)
        {
            if (builder == null) throw new ArgumentNullException(nameof(builder));

            builder.ConfigurationBuilder
                .AddEnvironmentVariables();

            var credentials = GetDefaultAzureCredential();

            builder.ConfigurationBuilder
                .AddAzureAppConfiguration((options) =>
                {
                    options
                        .Connect(
                            new Uri(Environment.GetEnvironmentVariable("ConfigurationStorePrimaryEndpoint")),
                            credentials
                        )
                        .Select(KeyFilter.Any, LabelFilter.Null)
                        .Select(KeyFilter.Any, "DEVELOPMENT");
                });

        }

我不知道如何从函数本身的本地配置中读取变量 ConfigurationStorePrimaryEndpoint 和 DEVELOPMENT?我不想使用 env 变量我想从每个函数的本地配置存储中读取这两个值,但我不知道如何做?

当然,当 运行 在本地时,我希望它使用 local.settings.json

感谢任何建议。

当您在本地 运行 时,

Environment.GetEnvironmentVariable("SomeConfigurationSetting") 将从 local.settings.json 加载“SomeConfigurationSetting”键的值。当您在 Azure 中部署时,只需在 app settings of the Function app. It does not have to be "Environment variable" literally like in OS level. Refer this 中添加相同的条目以获取详细信息。

如果您不想要这种方式,并且您的意思是一些自定义的“本地配置存储”,那么您需要分享相关的详细信息。

存储 builder.ConfigurationBuilder.AddEnvironmentVariables().Build(); 的输出并用于从本地配置文件访问配置。

var configuration = builder.ConfigurationBuilder.AddEnvironmentVariables().Build();

... Some  code

options
  .Connect(
      new Uri(configuration["ConfigurationStorePrimaryEndpoint"]),
      credentials
   )

 ... Some  code