Вручную запускать функции Azure на основе времени для разработчика - PullRequest
0 голосов
/ 08 сентября 2018

Моя задача запускается один раз в день при развертывании. Для разработки в настоящее время я просто изменил CRON на «каждую минуту» и жду этой минуты, чтобы сработала функция, чтобы я смог выполнить отладку. Есть ли способ, при котором я могу оставить свой код таймера, чтобы он оставался как «Каждый день», но при этом я мог его сбросить вручную.

В Azure я могу просто перейти к ресурсу функции и нажать «Выполнить», чтобы запустить его независимо от таймера. Я ищу что-то похожее на моем устройстве.

Ответы [ 3 ]

0 голосов
/ 08 сентября 2018

Не похоже, что есть прямое решение, которое можно вручную (или даже через HTTP-запрос) запустить основанную на времени функцию Azure.

Возможное решение

Иметь вторую функцию, запускаемую по протоколу http, которая имеет ту же логику / код. Вы можете использовать эту вторую функцию для тестирования по требованию.

Пожалуйста, смотрите обсуждение в этих двух темах, оно очень важно для вас -

Любой метод проверки функции запуска по таймеру

Функция Azure, запускаемая по времени, запускаемая сразу после развертывания

0 голосов
/ 10 сентября 2018

Как уже упоминалось @ neo99, простой ответ - это невозможно из коробки. Причина заключается в том, что входные параметры для Run метода функции триггера отличаются для разных типов триггеров.

Например, вы хотите вручную (HttpTrigger) вызвать TimerTrigger

Запуск по таймеру:

[FunctionName("TimerTriggerCSharp")]
public static void Run([TimerTrigger("0 */5 * * * *")]TimerInfo myTimer, TraceWriter log)

Http Trigger:

[FunctionName("HttpTriggerCSharp")]
public static async Task<HttpResponseMessage> Run(
    [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)]HttpRequestMessage req, 
    TraceWriter log)
0 голосов
/ 08 сентября 2018

Возможно, вы ищете это в атрибуте Timer Trigger,

[TimerTrigger("", RunOnStartup = true)]TimerInfo timer

Это должно сработать при запуске.

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