关于使用Azure IoT Edge设备时的最佳实践,我有几个问题。
我有一个模块,通过边缘设备上的部署清单部署。这个模块处理消息,如果需要,调用API。这工作正常。我想向该边缘设备发送消息,并让该模块处理它们。我遵循了this tutorial,它似乎发送消息没有任何问题。
不过,我对几件事不确定:
我的问题:
1.如何查看已发送的消息?如何将它们路由到模块输入?如果我有一个正在运行的模块监听消息,它工作正常(就像上面教程中的情况一样,但是如果它没有运行,或者由于网络问题而失败呢?
我试着通过定义路由来玩一点,但我不认为它们是为从云发送的消息而设计的。
1.我的模块应该一直在运行吗?这个模块是一个python脚本,当它完成后,它就退出了。如果将所需状态设置为stopped
,并将重启策略设置为always
以外的其他内容,则这是很好的。但是,默认值为running
和always
1.如果它们不需要一直运行,我考虑过让一个模块负责处理消息,并根据这些模块启动相应的模块。这很常见吗我在想我是不是漏掉了什么
非常感谢你花时间阅读我!
1条答案
按热度按时间4sup72z81#
第一个问题
我已经提到了这个MSDOC路由和端点,用于发送消息和监视事件。
try
和catch
发送消息IoT设备。它跟踪传递到未运行或由于网络问题而失败的模块的消息,并将其保留在队列中,直到模块备份。Azure IoT Edge保证消息传递的可靠性。明智的做法是规划您的策略,以处理零星的模块可用性和网络中断。利用Azure IoT Edge的消息重试方法、缓冲功能和离线支持。向模块发送消息:
发送消息的物联网设备
try
和except
:注:
启用路由时,消息将发送到路由点。
路由:
我们可以路由上述端点。我从上面的文档路由到Event Hub,并能够捕获物联网设备的消息。