在运行时或编译时选择Azure Function触发器

问题描述 投票:0回答:1

我有一组带有 QueueTrigger 触发器的 Azure 函数。目标是根据配置或至少作为构建管道步骤来支持另一个云平台(例如 KafkaTrigger)。

我想出的方法:

  1. 创建自定义触发器并重用 QueueTrigger 和 Kafka 触发器中的底层对象。

我还没有找到实现这一点的方法,即使我找到了,底层的 QueueTrigger 对象主要是内部的。

  1. 生成触发器属性作为预构建操作。

可能会起作用,但我正在努力寻找更好的解决方案。

  1. 具有两组功能,并根据配置禁用其中一组功能。

同样,这似乎不是一个好方法。将需要禁用属性的代码生成或一些黑客逻辑。

问题

有没有更好的方法来实现这一目标?也许创建自定义触发器是一个可行的选择,但我错过了一些东西?

.net triggers azure-functions queuetrigger
1个回答
0
投票

您可以通过应用程序设置禁用功能

禁用功能的推荐方法是将应用程序设置的格式为

AzureWebJobs.<FUNCTION_NAME>.Disabled
设置为 true。

因此,通过提取出通用代码和两个不同触发的功能,您只需更新应用程序设置即可激活您想要的功能。

考虑到这里的简单性,我认为其他解决方案不值得付出努力,除非您想通过另一个系统自动集成禁用/启用功能的功能。即使如此,您可能最好将自动化提取到另一个功能应用程序中。

© www.soinside.com 2019 - 2024. All rights reserved.