是否可以动态设置 Azure 函数触发器?

Is it possible to set an Azure function trigger dynamically?

我想知道是否可以在 运行 时间设置 Azure 函数触发器。

例如,ServiceBusTriggerAttribute 允许通过

将触发器设置为属性的参数
[ServiceBusTrigger("myqueue", Connection = "ServiceBusConnection")] 

但是我也可以让这个设置更动态一点吗?

我看到的问题是 Azure 函数不会 运行 除非被触发,所以 运行 没有时间来设置它。

我能想到的工作是,每当我对系统进行更改时,我都可以通过 devops 通道自动生成包含其触发器的 functions.json 文件,这会导致我更新功能。

有什么好的解决办法吗?

  • 如果您需要动态重复计划,您可以考虑为此使用持久函数。

  • 请勾选启用这种场景的“监控”sample/pattern:
    DurableFunctions

  • 更具体地说,您可以编写一个带有 while 循环和持久计时器的协调器函数,该计时器的作用类似于计时器触发器,但具有动态计划。

  • 如果您需要无限期地 运行,那么您可以查看 eternal orchestrations documentation topic.

    中的示例代码

此外, 有几个答案可能会让您受益。

请参考Trigger an Azure Function from an Azure DevOps Pipeline