我正在为一堆Azure功能使用标准应用服务计划。我的函数从EventHubs读取并将数据转发到另一个目的地。然而,它们似乎要么没有被触发,要么在它们出现之后,只是经过长时间的延迟(十分钟或更长时间)。 这发生在Azure创建的EventHubs(如活动日志的见解 - 操作日志)和我自己的。我几乎可以立即使用我自己的发送方和接收方客户端(例如https://github.com/Azure/azure-event-hubs-node)从这些EventHub发送和接收数据,因此集线器中有数据。
所以我的问题是: 1.触发器的典型延迟是什么? 2.我如何知道是否为所有事件触发了我的功能(或者如何针对该情况进行调试)? 3.如何将触发配置为快速?
我已经将我的功能应用程序设置为始终开启。我只是使用Portal来查看调用和我的函数日志。我也使用node.js而不熟悉C#和整个WebJob历史。
答案 0 :(得分:0)
事实证明我的函数使用了所有错误的连接字符串。不幸的是,当我通过标准编辑器设置集成时,这些连接字符串是由Azure门户自己创建的。 一旦我通过高级编辑器纠正了我的EventHub绑定:({{3}}):
<key>LSApplicationQueriesSchemes</key>
<array>
<string>skype</string>
</array>
我的功能几乎立即被触发了!
(具体来说,门户网站创建的绑定使用eventhub命名空间作为路径,创建的连接字符串使“端点”指向集线器。)