Azure functions Azure function v3设置中local.settings.json的嵌套对象
我在.NETCore3.1中有一个Azure函数v3 该函数在本地运行良好。 以下是local.settings.json:Azure functions Azure function v3设置中local.settings.json的嵌套对象,azure-functions,Azure Functions,我在.NETCore3.1中有一个Azure函数v3 该函数在本地运行良好。 以下是local.settings.json: { "IsEncrypted": false, "Values": { "FUNCTIONS_WORKER_RUNTIME": "dotnet", "AzureWebJobsStorage": "UseDevelopmentStorage=
{
"IsEncrypted": false,
"Values": {
"FUNCTIONS_WORKER_RUNTIME": "dotnet",
"AzureWebJobsStorage": "UseDevelopmentStorage=true"
},
"Foo": {
"Bar": {
"test1": true,
"test2": false
}
}
}
我需要在Azure函数配置中为嵌套对象Foo:Bar:test1编写配置
如何在那里表达这个嵌套对象?嵌套对象不能很好地使用Azure函数配置,有更多详细信息Azure函数的配置机制与Azure的应用程序配置中发生的情况相匹配。因此它是一个平面结构 通常,您需要使
local.settings.json
与Azure匹配
如果您希望对WebApp和Azure函数使用相同的结构(例如,代码中的共享IOptions
),则需要使用值中的平面结构声明local.settings.json
,如下所示:
{
"IsEncrypted": false,
"Values": {
"FUNCTIONS_WORKER_RUNTIME": "dotnet",
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"Foo:Bar:test1": true,
"Foo:Bar:test2": false
}
}
此外,您不需要在Startup.cs中插入
IConfiguration
(如果您使用的是DI),这已经由运行时处理。Azure函数用于表示嵌套对象的配置选项的正确语法是使用双下划线:“CustomSettings\uu MySpecificSetting”
对于local.settings.json文件中的嵌套对象:
Foo": {
"Bar": {
"test1": true
}
}
Azure配置看起来像:
Foo__Bar__test1
这回答了你的问题吗?(答案是针对web应用,但功能应该是相同的)Azure功能和web应用的行为不同。查看本文了解更多细节()嵌套对象与Azure函数一起工作。我刚刚发现正确的语法是使用双下划线:“CustomSettings\uuuMySpecificSetting”。但有些配置设置不好,这是事实,比如AzureWebJobsStorage或函数触发器设置。它们被硬固定在“值”块内。如果在值内执行这些操作,则需要使用:。但你的建议也是正确的。如果您正在按消费计划运行,也不要从文件中加载它们。我会相应地更新我的答案。