首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IoT边缘模块实例发现调用另一个模块上的方法所需的ids的首选方法是什么?

IoT边缘模块实例发现调用另一个模块上的方法所需的ids的首选方法是什么?
EN

Stack Overflow用户
提问于 2017-12-19 09:50:00
回答 2查看 328关注 0票数 0

在IoT边缘网关的新预览版中,一个模块可以通过InvokeDeviceMethodAsync调用另一个模块上的方法。它将设备id和模块id作为参数,大概是为了告诉Edge如何路由调用。在同一网关内调用时,设备id参数应为IoT边缘集线器中网关实例的设备id。模块id应该是从IoT边缘下推到网关的模块实例的模块id。对这些id进行硬编码很容易,但显然并不可取。您可以将硬编码的值放在模块加载时读取的配置文件中,这不会有太多问题,但仍然不理想。是否有一种方法可以程序化地发现/填充所需的值?部署json配置是否支持在部署时进行变量替换或类似操作来填充实例ids?

EN

回答 2

Stack Overflow用户

发布于 2017-12-19 14:26:30

我不认为目前有更好的方式。你基本上有三个选择,我要提到其中的两个。

  1. 使用Env在模块
  2. 的部署清单的createOptions部分中,您可以通过模块Twin as属性将其推送到模块

我个人会选择选项1,因为您在创建部署清单时定义了module-id,并且使用该选项,您还可以将环境变量注入到清单中的特定模块创建选项中。

如果模块通信将根据某些域规则进行更改,我会选择方法2,但在我的项目中找不到任何适用于此的用例。

顺便说一句,我会作为评论回答,但缺少声誉。

票数 1
EN

Stack Overflow用户

发布于 2017-12-19 10:08:08

IoT边缘设备上的模块调用方法的典型情况是,模块从连接到该IoT边缘网关设备的同一设备或下游设备上的其他模块接收遥测消息,并根据消息的内容决定调用发送器模块或设备上的方法以指示某些更改(例如,如果消息指示设备运行过热,则模块可以调用一个方法来降低风扇速度等)。

在这种情况下,模块可以从消息本身获取发送方模块的设备Id和模块Id。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47878932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档