在开发人员上手动触发基于时间的Azure函数

时间:2018-09-07 21:33:27

标签: azure azure-functions

部署后,我的任务每天运行一次。对于当前的开发,我只是将CRON更改为“每分钟”,然后等待该分钟,以便触发该功能以供我进行调试。有没有一种方法可以让我的计时器代码保留为“每天”,但仍然可以手动启动。

在Azure中,无论计时器如何,我都可以转到函数资源并单击“运行”将启动它。我正在我的开发人员上寻找类似的东西。

3 个答案:

答案 0 :(得分:2)

您可能正在“计时器触发器”属性中寻找此内容,

Text

那应该在启动时开始。

答案 1 :(得分:1)

似乎没有直接的解决方案可以手动(甚至通过和http请求)触发基于时间的Azure函数。

可能的解决方法

具有另一个具有相同逻辑/代码的http触发函数。您可以使用第二个功能按需进行测试。

请查看这两个线程中的讨论,这与您非常相关-

Any method for testing timer trigger function

Time triggered azure function to trigger immediately after deploy

答案 2 :(得分:0)

正如@ n​​eo99所提到的,简单的答案就是不可能开箱即用。原因是对于不同类型的触发器,触发器功能的 Run 方法的输入参数不同。

例如您正在寻找手动触发(HttpTrigger)TimerTrigger

计时器触发器:

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

Http触发器:

[FunctionName("HttpTriggerCSharp")]
public static async Task<HttpResponseMessage> Run(
    [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)]HttpRequestMessage req, 
    TraceWriter log)