我是新来的Azure IoT枢纽。我报名参加了Azure的免费课程。我正在尝试测试一个非常简单的场景:
Raspbary Pi模拟器- IoT集线器
我已经设置了IoT集线器和Pi模拟器。我将数据从模拟器发送到IoT集线器,我可以看到消息是由IoT集线器接收的,并且接收到的消息数量在上升,所以遥测数据正在到达IoT集线器。
然后,我使用以下参数创建了一个函数应用程序:
然后,我使用IoT集线器触发器模板在这个函数应用程序中创建了一个函数。我创建了一个新的事件集线器连接,并选择了IoT集线器作为选项,并从列表中选择了我的IoT集线器。这为我创建了一个函数,其标准实现是将任何传入的消息打印到日志中。
我试图通过从门户发送测试消息来测试门户中的函数,但该函数从未被触发,也没有打印任何日志。我确实让HTTP代码202被接受了,但是函数从未被调用过。函数的执行计数保持在0。
我还试图通过将遥测数据从模拟器发送到IoT集线器来测试该功能。我的IoT集线器消息计数增加了,但函数从未被调用。
您可以提供的任何指针,以帮助我调试,这将是非常感谢。
谢谢
卡里姆
图片:
发布于 2021-04-02 10:10:28
我也在同一问题上被困了一段时间。
为了帮助调试,您可以使用VSCode中的Azure函数扩展来检查该函数的日志(遗憾的是,我还没有找到适合我的其他方法)。
对我来说,日志有两个错误:
[Error] Microsoft.Azure.WebJobs.Host: Error indexing method 'Functions.IoTHub_EventHub1'. Microsoft.Azure.WebJobs.EventHubs: Value cannot be null. (Parameter 'receiverConnectionString').
[Error] Microsoft.Azure.WebJobs.Host: Error indexing method 'Functions.IoTHub_EventHub1'. Microsoft.WindowsAzure.Storage: Value cannot be null. (Parameter 'connectionString').事实证明,可以通过添加到存储帐户的链接来修复这两个问题,正如在这个答案中所解释的那样。
最后,名为AzureWebJobsStorage的新应用程序设置应该在函数配置中显示为像这样。
https://stackoverflow.com/questions/66541579
复制相似问题