Установка выражения CRON по умолчанию для TimerTrigger вне local.settings.jsonC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Установка выражения CRON по умолчанию для TimerTrigger вне local.settings.json

Сообщение Anonymous »

У меня есть задание таймера функций Azure, в котором выражение CRON извлекается из local.settings.json для локальной разработки и из настроек приложения приложения-функции для производственных сред.

Код: Выделить всё

public static void MyTimerJob([TimerTrigger("%MyTimerCRON%")] TimerInfo Timer, ILogger Log) {
// Function code
}
Как правильно установить значение по умолчанию для MyTimerCRON, если это значение не установлено в настройках приложения развернутой среды?
Чтобы иметь значение по умолчанию на случай, если при развертывании в настройках приложения ничего не установлено, я попытался добавить новый источник конфигурации, который будет распространяться на рабочие среды, выполнив действия, описанные в https://learn.microsoft. .com/en-us/azure/azure-functions/functions-dotnet-dependent-injection#customizing-configuration-sources:
  • Добавление поставщиков в ConfigurationBuilder свойства IFunctionsConfigurationBuilder в ConfigurationAppConfiguration

Код: Выделить всё

public override void ConfigureAppConfiguration(IFunctionsConfigurationBuilder builder)
{
FunctionsHostBuilderContext context = builder.GetContext();

builder.ConfigurationBuilder
.AddJsonFile(Path.Combine(context.ApplicationRootPath, "appsettings.json"), optional: true, reloadOnChange: false)
.AddEnvironmentVariables();
}
  • Убедился, что файл скопирован в выходную папку приложения-функции в файле .csproj:

    Код: Выделить всё

    PreserveNewest
    
    
  • И добавил соответствующий файл appsettings.json:

Код: Выделить всё

{
"MyTimerCRON": "* * * * *",
}
Но при запуске приложения меня встречают оба этих сообщения:

Код: Выделить всё

[2024-11-06T18:33:25.565Z] The Functions scale controller may not scale the following functions correctly because some configuration values were modified in an external startup class.
[2024-11-06T18:33:25.566Z]   Function 'MyTimerJob' uses the modified key(s): %MyTimerCRON%
и хотя задание таймера действительно выполняется, если я попытаюсь запустить

Код: Выделить всё

Environment.GetEnvironmentVariable("MyTimerCRON")
возвращенное значение равно нулю, что заставляет меня полагать, что .AddEnvironmentVariable, выполненный при запуске, не дал ожидаемого эффекта...


Подробнее здесь: https://stackoverflow.com/questions/791 ... tings-json
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Установка выражения CRON по умолчанию для TimerTrigger вне local.settings.json
    Anonymous » » в форуме C#
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Управление конфигурацией функций Azure без appsettings.json/local.settings.json
    Anonymous » » в форуме C#
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous
  • Управление конфигурацией функций Azure без appsettings.json/local.settings.json
    Anonymous » » в форуме C#
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Управление конфигурацией функций Azure без appsettings.json/local.settings.json
    Anonymous » » в форуме C#
    0 Ответы
    35 Просмотры
    Последнее сообщение Anonymous
  • Moodle Local установка в Local с WAMP Server
    Anonymous » » в форуме Php
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»