Где хранить настройки из local.settings.json для proddeployment? - PullRequest
0 голосов
/ 13 декабря 2018

Я немного озадачен тем, где хранить настройки, которые следует использовать из функции Azure после развертывания.

В локальных тестах у меня есть настройки, такие как строки подключения в local.settings.json, как предлагается читатьследующий код:

[FunctionName("SomeEvent")]
public static void Run(
  [EventHubTrigger("some-hub", Connection = "EventHubConnection" )]
  EventData ev,
  ILogger log,
  ExecutionContext context,
  IConfiguration configuration,
  [EventHub("brd-iot-eventhubs", Connection = "OutputEventHubConnection")]
  ICollector<EventData> outputEvents)
  {
    var config = new ConfigurationBuilder()
   .SetBasePath(context.FunctionAppDirectory)
    .AddJsonFile(SETTINGS, optional: true, reloadOnChange: true)
    .AddEnvironmentVariables()
    .Build();

    string customername = config.GetValue<string>("Customer");
    string connectionString = config.GetConnectionString("myDatabase");
    [...]

Теперь я хочу иметь настройки (с другими значениями) после развертывания в Azure.AFAIK host.json - это нечто иное, поскольку это не конфигурация для каждой функции, а глобальная конфигурация.

Я могу редактировать свойства вручную непосредственно в Azure, но мне нужен файл настроек, который я могу развернуть.Как это сделать?Может быть, мне просто нужно знать, как называется файл настроек.

1 Ответ

0 голосов
/ 13 декабря 2018

Вы можете поместить свои собственные настройки в любые файлы, которые вам нужны, и читать их, используя ConfigurationBuilder, как вы это сделали.Поместите файл пользовательских настроек, скажем, appsettings.json, в функциональный проект и установите его для копирования в каталог output / publish (Копировать, если новее), таким образом он может быть развернут VS publish.

set file property

Но для привязок функций, связанных с настройками, такими как EventHubConnection и OutputEventHubConnection, время выполнения функции считывает их из переменных среды.Мы должны ответить на Application settings на портале Azure, который вставляет их в переменные env.

Также обратите внимание, что VS предоставил удобный интерфейс для нас, чтобы настроить различные параметры в локальной среде и в среде Azure.Мы можем выбрать вставку из локальной или создать новые настройки (обратите внимание, что пустое значение здесь означает, что в соответствующей среде такой настройки нет)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...