Azure Функция со сложным типом конфигурации (Список объектов) работает локально (с этим сложным типом в local.settings. json), но не может прочитать / создать список объектов в Azure (с этим сложный тип в Azure Параметры конфигурации функции). Я ищу рекомендуемый / оптимальный способ поддержки этого на обеих платформах / методах доступа.
Это отлично работает в моих local.settings. json, где я использую построитель конфигурации и извлекаю данные, например
var myList = config.GetSection("ConfigurationList").Get<List<MyType>>();
, однако это не работает в Azure функциях ?? Теперь я думаю, что это потому, что в local.settings. json это файл json и выглядит как
"ConfigurationList" : [ { "Name": "A", "Value": 2 }, { "Name": "B", "Value": 3 }]
, а в Azure Functions это параметр «ConfigurationList» со значением
[ { "Name": "A", "Value": 2 }, { "Name": "B", "Value": 3 }]
(так что на самом деле нет «раздела» в Azure функциях?)
Кажется, что «простое» решение - просто изменить. json быть строкой в кавычках и десериализовать строку (и тогда она будет работать одинаково в обоих местах); но это не похоже на «лучшее» (или «рекомендованное» решение), т.е. что-то вроде
"ConfigurationList" : "[ { \"Name\": \"A\", \"Value\": 2 }, { \"Name\": \"B\", \"Value\": 3 }]"
var myList = (List<MyType>)JsonConvert.DeserializeObject(config["ConfigurationList"], typeof(List<MyType>));
Что не самое худшее; но делает json немного «не таким красивым» и не «перетекает» через две платформы ... если это то, что я должен делать, хорошо; но надеясь на более стандартный подход / рекомендацию