如何 test/run azure times 在本地运行
How to test/run azure times function locally
我在 Visual Studio 2019 年有一个解决方案,我添加了一个“Azure 函数”类型的新项目。我在那个项目中有一个函数,运行在计时器触发器上。
我想 运行 在调试期间只运行一次该功能,有没有办法做到这一点而无需摆弄计时器设置,这样它只会在我开始调试后 10 秒后启动?
该函数没有任何端点,也没有被任何东西调用,它的意义在于按计划 运行。
如果我要开始调试并将计时器设置为 运行 每 X 次,但我想 运行 在调试时只显式设置一次。
您可以通过向其管理员发送请求来执行计时器触发的功能url:
http://localhost:<your port>/admin/functions/<your function name>
示例POST:
POST /admin/functions/<function name> HTTP/1.1
Host: localhost:5800
x-functions-key: <your function key>
Content-Type: application/json
{}
您可以在 [TimerTrigger]
属性中使用 RunOnStartup
选项。例如:
public static void Run(
[TimerTrigger("0 */5 * * * *", RunOnStartup = true)]TimerInfo myTimer,
ILogger log)
{
log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}");
}
您可以使用预处理器指令使其仅调试:
public static void Run([TimerTrigger("0 */5 * * * *",
#if DEBUG
RunOnStartup = true
#endif
)]TimerInfo myTimer, ILogger log)
{
log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}");
}
我在 Visual Studio 2019 年有一个解决方案,我添加了一个“Azure 函数”类型的新项目。我在那个项目中有一个函数,运行在计时器触发器上。
我想 运行 在调试期间只运行一次该功能,有没有办法做到这一点而无需摆弄计时器设置,这样它只会在我开始调试后 10 秒后启动?
该函数没有任何端点,也没有被任何东西调用,它的意义在于按计划 运行。
如果我要开始调试并将计时器设置为 运行 每 X 次,但我想 运行 在调试时只显式设置一次。
您可以通过向其管理员发送请求来执行计时器触发的功能url:
http://localhost:<your port>/admin/functions/<your function name>
示例POST:
POST /admin/functions/<function name> HTTP/1.1
Host: localhost:5800
x-functions-key: <your function key>
Content-Type: application/json
{}
您可以在 [TimerTrigger]
属性中使用 RunOnStartup
选项。例如:
public static void Run(
[TimerTrigger("0 */5 * * * *", RunOnStartup = true)]TimerInfo myTimer,
ILogger log)
{
log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}");
}
您可以使用预处理器指令使其仅调试:
public static void Run([TimerTrigger("0 */5 * * * *",
#if DEBUG
RunOnStartup = true
#endif
)]TimerInfo myTimer, ILogger log)
{
log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}");
}