Azure Function ServiceBus触发器依赖项注入

时间:2018-07-24 07:53:27

标签: dependency-injection azure-functions azureservicebus

我一直在尝试为由ServiceBus(在本例中为主题/订阅)触发的Azure函数实现DI:

[Singleton]
[FunctionName("Alert")]
public static async Task Alert([ServiceBusTrigger(Topic.Alert, Subscription.PowerBi, Connection = "servicebusconnectionstring")] Message message, [Inject]IPowerBiService powerBiService, [Inject]IQueueService queueService)

我已经在以下网站上阅读了有关Azure Functions和DI的信息:

所有示例都使用HTTP触发器工作,我假设IIS主机已启动并正在运行并且包含服务。但是使用ServiceBus触发器,我无法使其工作。我已经实现了上面提到的解决方案,还有更多解决方案,但是都遇到了相同的问题。代码是有效的,但要为消息/触发器创建服务。

外面有谁能够做到这一点,或者不可能做到吗?

注意(更新): 我得到了一些尚待验证的信息,但是我一直在为Azure功能使用消耗计划。在某些情况下,您可能需要一个App Service计划(使用消耗量,因为该价格模型更方便)。如果有人对此有更多了解? 我将在本周晚些时候对此进行调查。

1 个答案:

答案 0 :(得分:0)

我只想使用App Service计划而非消费计划来确认它现在可以正常工作。区别在于“冷启动”而不是“热”主机。

我猜所有一次DI实现都应该可以正常工作。 我一直在使用以下命令:https://github.com/MV10/Azure.FunctionsV2.Service.Locator