Программное добавление настроек приложения к функциям Azure
Мне нужно программно добавлять новые параметры приложения к функциям Azure без необходимости добавлять их вручную с портала Azure каждый раз, когда я представляю новый параметр. Есть ли какой-нибудь пакет nuget или какой-нибудь инструмент, который я могу использовать для автоматизации этого?
Идея в том, что при развертывании из одной среды в другую автоматизировать этот процесс без необходимости делать это вручную.
Заранее спасибо.
2 ответа
Похоже, вам просто нужен инструмент для добавления или обновления настроек приложения, не выполняя вручную через портал? Я бы порекомендовал лазурь cli как отличный вариант. Через шаблон ARM тоже работает. Очень часто мы видим, как пользователи используют эти параметры в сочетании с таким инструментом, как Azure DevOps, для автоматизации и управления несколькими средами.
Используйте стиль управления конфигурацией ядра.Net, содержащийся в пакете Microsoft.Extensions.Configuration
. Вlocal.settings.json
файл не публикуется в Azure, и вместо этого Azure получит параметры из параметров приложения, связанных с функцией.
В вашей функции добавьте параметр типа Microsoft.Azure.WebJobs.ExecutionContext
контекст, где вы можете затем создать IConfigurationRoot
провайдер: Пример:
[FunctionName("Stackru")]
public static async Task Run([TimerTrigger("0 */15 * * * *")]TimerInfo myTimer,
TraceWriter log, ExecutionContext context,
CancellationToken ctx)
{
var config = new ConfigurationBuilder()
.SetBasePath(context.FunctionAppDirectory)
.AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables()
.Build();
// This abstracts away the .json and app settings duality
var myValue = config["MyKey"];
}
После развертывания в Azure вы можете изменить значения параметров в функции Параметры приложения.