【发布时间】:2021-05-28 17:14:47
【问题描述】:
我正在使用appsettings.json 配置我的 Azure Function(netcoreapp3.1,在 Windows 机器上运行)。
在appsettings.json 文件中有一个带有设置的数组:
{
"ArraySettings": [
{
"ArraySettingProperty1": "ArraySetting1Value1",
"ArraySettingProperty2": "ArraySetting1Property2"
},
{
"ArraySettingProperty1": "ArraySetting2Value1",
"ArraySettingProperty2": "ArraySetting2Property2"
}
],
"SingleSetting": "SingleValue"
}
如果我在本地运行 Azure 函数,它可以正常工作。但它似乎不适用于 Azure,尽管 appsettings.json 文件已部署并且可以通过 Azure 函数找到。
在Startup.cs:
private IConfiguration InitializeConfiguration(IFunctionsHostBuilder functionsHostBuilder)
{
ExecutionContextOptions executionContextOptions = functionsHostBuilder
.Services
.BuildServiceProvider()
.GetService<IOptions<ExecutionContextOptions>>()
.Value;
return new ConfigurationBuilder()
.SetBasePath(executionContextOptions.AppDirectory)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables()
.Build();
}
这是我已经尝试过的(没有成功):
-
将设置复制到
local.settings.json文件的Values部分 -
以以下关键格式将设置添加到 Azure 上的应用程序设置(无论是否注释掉
appsettings.json配置):2.1 ArraySettings:ArraySettingProperty1:0
2.2 ArraySettings__ArraySettingsProperty1__0
2.3 值__ArraySettings__ArraySettingsProperty1__0
为什么阵列设置在本地有效,但在 Azure 上无效?如何让它们在 Azure 上运行?谢谢!
【问题讨论】:
标签: c# azure azure-functions