gpt4 book ai didi

azure - 一个计时器触发器类中的多个 Azure Functions

转载 作者:行者123 更新时间:2023-12-05 00:45:43 58 4
gpt4 key购买 nike

我们必须编写多个触发器。我希望根据触发器类型创建单独的函数。因此,如果我需要 5 个将在不同时间运行的计时器触发器,我将创建一个计时器触发器函数类并将函数命名为 [TimerTrigger1][TimerTrigger2][TimerTrigger3] ...等等。添加代码后,我不确定是否可以再这样做。

有人可以建议我如何添加多个触发器吗?我不能在一个类下有两个 Run 函数。

public static class TimerTrigger
{
[FunctionName("InsertTimerTrigger1")]
public static void Run([TimerTrigger("0 */5 * * * *")]TimerInfo myTimer, ILogger log)
{
// Do task 1
log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}");
}

[FunctionName("InsertTimerTrigger2")]
public static void Run([TimerTrigger("0 */15 * * * *")]TimerInfo myTimer, ILogger log)
{
//Do Task 2
log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}");
}
}

最佳答案

您可以在单个类中创建多个函数。您可以更改Run方法名称。

public static class Function1
{
[FunctionName("Function1")]
public static void Method1([TimerTrigger("0 */2 * * * *")]TimerInfo myTimer, TraceWriter log)
{
log.Info($"C# Timer trigger function executed at: {DateTime.Now}");
}

[FunctionName("Function2")]
public static void Method2([TimerTrigger("0 */3 * * * *")]TimerInfo myTimer, TraceWriter log)
{
log.Info($"C# Timer trigger function executed at: {DateTime.Now}");
}
}

但我建议,创建多个函数会对您有所帮助(在您的情况下为 5 个)。

  1. 如果您使用通用业务逻辑,则可以放入一个通用类并注入(inject)所有函数。
  2. 您可以从 FunctionApp 实例独立启用/禁用/删除功能。

enter image description here

  • 您可以独立监控每个功能(从“功能监视器”部分)
  • enter image description here

    关于azure - 一个计时器触发器类中的多个 Azure Functions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56350089/

    58 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com