Где хранить специфические свойства приложения в приложении функций Azure

Я унаследовал некоторый код, написанный для функций Azure, и почти ничего не знаю о функциях Azure. Прямо сейчас этот код написан для нашей промежуточной среды и содержит такие вещи, как жестко запрограммированные URL-адреса, специфичные для нашей промежуточной среды, и различные ключи API, которые могут отличаться в рабочей среде.

Первая задача, которую я хотел бы выполнить, - это избавиться от этих жестко закодированных строк и переместить их в какой-то "конфигурационный" файл, который можно развернуть через нашу систему сборки. Другими словами, промежуточное приложение Azure Functions будет предназначаться для нашей промежуточной среды, а производственное приложение - для нашей производственной среды. В обычном приложении на C# я просто вставляю этот материал в файл web.config или app.config.

У меня есть два вопроса:

Первый: где рекомендовано место для хранения этих свойств конфигурации? Давайте возьмем этот кусок кода, который у меня есть в моем файле CSX:

public const string apikey = "37eb882ff6914b4c9205673547c10dc8"; // This value needs to change based on our environment

Первое, на что я обратил внимание - это настройки приложения "Функции" -> "Настройка параметров приложения" -> "Настройки приложения ". Я добавил новый параметр приложения, но не смог найти способ действительно прочитать значение в коде (я пытался использовать ConfigurationManager), а также не смог найти документацию о том, как это работает.

Следующим, что я посмотрел, был файл function.json, в котором содержится обязательная информация о том, как вызывается функция. Здесь, похоже, нет места, где я мог бы добавить свои собственные настройки.

Наконец, я посмотрел на файл host.json, который находится в корне приложения. К этому файлу есть куча документации, но она не подходит для пользовательских настроек.

Второе: как только я добавлю свое свойство сюда, как мне прочитать его, используя код C#? Другими словами, что бы я заменить это public const string линия с?

Спасибо!

1 ответ

Решение

Настройки приложения " Функции" -> " Конфигурировать настройки приложения" -> "Расположение настроек приложения" - это рекомендуемое место для сохранения настроек конфигурации.

Чтобы получить доступ к настройкам приложения из кода C#, вы можете просто использовать класс ConfigurationManager:

public static readonly string value = System.Configuration.ConfigurationManager.AppSettings["MySetting"];

Вместо использования "const", вам нужно будет использовать "static readonly", и он будет работать почти так же.

Другие вопросы по тегам