部署后,我的任务每天运行一次。对于当前的开发,我只是将CRON更改为“每分钟”,然后等待该分钟,以便触发该功能以供我进行调试。有没有一种方法可以让我的计时器代码保留为“每天”,但仍然可以手动启动。
在Azure中,无论计时器如何,我都可以转到函数资源并单击“运行”将启动它。我正在我的开发人员上寻找类似的东西。
答案 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)
正如@ neo99所提到的,简单的答案就是不可能开箱即用。原因是对于不同类型的触发器,触发器功能的 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)