0

我正在将我们的配置从我们的本地配置存储移动到我们所有 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?我不想使用环境变量我想从每个函数的本地配置存储中读取这两个值,但我不知道怎么做?

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

任何建议表示赞赏。

4

2 回答 2

0

Environment.GetEnvironmentVariable("SomeConfigurationSetting")将从local.settings.json本地运行时加载“SomeConfigurationSetting”键的值。在 Azure 中部署时,只需在Function 应用的应用设置中添加相同的条目。它不必像操作系统级别那样是字面上的“环境变量”。有关详细信息,请参阅

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

于 2020-11-29T20:15:40.187 回答
0

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

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

... Some  code

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

 ... Some  code
于 2020-11-30T07:52:56.350 回答