【发布时间】:2019-02-14 08:09:56
【问题描述】:
我们的边缘设备基于 Azure IoT Edge 运行时。负责数据处理的模块之一是运行 Apache Nifi 版本的自定义模块。 处理的输出应该通过 IoT 中心发送到 Azure IoT Edge 消息总线和/或云上游。
有人知道如何连接边缘系统的这些部分吗? 我们是否必须在自定义模块上编写 C# 代码才能完成这项工作,还是有其他方法可以完成这项工作?
编辑:
经过进一步调查,我了解到我可以根据this 使用 MQTT 连接到 IoT Hub,并且应该能够通过使用Java SDK 编写一个自定义 Nifi 处理器,如here 所示,与本地消息总线交互ModuleClient,只需提供正确的连接字符串并确保自定义容器可以通过 IP 到达主机。
您认为我的假设对于实现我们的目标是否正确?
【问题讨论】:
-
在 nifi 中有 ConsumeMQTT 和 PublishMQTT 进程。如果您对 mqtt 有疑问 - 那么您不需要编写自定义处理器。如果您需要自定义处理器,那么您可以使用 groovy 脚本处理器来最大程度地减少 POC 工作。
-
@daggett 谢谢你的评论。这将使与本地 IoT 中心的交互更加容易。好的,所以我可以通过 MQTT 使用本地 IoT Hub 进行云上游和模块到模块的通信?
-
好的,我将 IoT Edge Hub 和本地消息代理误解为 2 个不同的组件,但实际上它们是相同的。 IoT Edge Hub 负责云上游和本地模块到模块的通信。
标签: apache-nifi azure-iot-hub azure-iot-edge