1

我们有两个计时器触发 Azure 函数 - 触发器 A 和触发器 B。如果触发器 A 被定义为“第一个”,它将运行而触发器 B 不运行。同样,如果先定义触发器 B,它将运行而触发器 A 不运行。

这导致两个问题:

  1. Azure 函数可以有两个计时器触发器吗?我在文档中找不到任何东西。我发现的最接近的事情是一个 SO 答案,暗示这是不可能的。
  2. 鉴于官方文档中以逗号分隔的 NCRONTAB 表达式由于参数不同而没有在此处剪切,有什么好的解决方案?

我们正处于试图将计时器触发器更改为 API 触发器并在计时器上使用不同参数调用端点的冗余函数应用程序的地步。

4

1 回答 1

2

更新:

正如 Peter Bons 所说,“调用共享方法”。

原答案:

Azure 函数可以有两个计时器触发器吗?我在文档中找不到任何东西。我发现的最接近的事情是一个 SO 答案,暗示这是不可能的。

如果您在谈论 azure 函数应用程序,那么它是可能的。

但是,如果您在谈论单个 azure 功能,那么您不能将两个触发器放在一个功能中。

例如,下面的效果很好:

在此处输入图像描述

鉴于官方文档中以逗号分隔的 NCRONTAB 表达式由于参数不同而没有在此处剪切,有什么好的解决方案?

CRON 表达式不能代表所有用例,因此有时需要在函数应用中将代码分成两个函数。

如果您想要一个“动态”CRON,您可以执行以下操作并更改相关值:

{
  "bindings": [
    {
      "name": "myTimer",
      "type": "timerTrigger",
      "direction": "in",
      "schedule": "%test%"
    }
  ]
}

在此处输入图像描述

以上是在门户上更改值,您也可以设置环境变量。该值来自 env var。

于 2020-11-03T14:39:20.367 回答