我正在将我们的配置从本地配置存储转移到用于所有Azure功能的中央应用程序配置存储。
我创建了一个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")
将加载值";SomeConfigurationSetting";当您在本地运行时,从local.settings.json
键入。在Azure中部署时,只需在Function应用程序的应用程序设置中添加相同的条目。它不一定是";环境变量";就像操作系统级别一样。有关详细信息,请参阅此。
如果你不想要这种方式,你的意思是一些自定义的";"本地配置存储";,那么你需要分享这方面的细节。
存储builder.ConfigurationBuilder.AddEnvironmentVariables().Build();
的输出,并用于从本地配置文件访问配置。
var configuration = builder.ConfigurationBuilder.AddEnvironmentVariables().Build();
... Some code
options
.Connect(
new Uri(configuration["ConfigurationStorePrimaryEndpoint"]),
credentials
)
... Some code