是否可以将自定义连接器与 IoT Edge 运行时一起使用

Is it possible to use custom connector with IoT Edge Runtime

今天我有一个有点棘手的问题。想象一下有人为网络编写了自定义连接器的情况(假设隐藏了很多安全功能等等)。现在想象一下,每个应用程序只能通过此自定义连接器连接到网络(甚至 IoT Edge 运行时)(假设此连接器同时实现了 https 和普通 MQTT 协议)。

现在的问题!根据此处的文档 https://github.com/Azure/iotedge/blob/master/doc/networking.md,IoT Edge 运行时通过 Microsoft 修改的 moby-engine 连接到网络。根据 Microsoft 的说法,我们无法获得此 moby-engine。此外,如果我们使用原始的 moby 项目,微软的支持将被取消,这是一件坏事。因此,我们无法修改 moby-engine 并使其使用此自定义连接器。

现在问题来了! 是否有可能(可能是我在文档中遗漏了一些东西。这不是第一次)将自定义连接器与 IoT Edge 运行时一起使用(没有代理,我们需要普通的 MQTT 协议)?如果是的话,你能详细解释一下吗?如果否,Iot Edge Runtime/moby 引擎中的哪些可能功能可以帮助使用自定义连接器?

如果您需要更多信息,请询问。我会马上提供。我在 Microsoft github 上问过类似的问题。那里没有回应。

@silent 的提议为我指明了正确的方向。在阅读手册,如何正确设置网关时,我再次开始阅读有关创建自定义模块的手册。这让我想看看准备构建环境。这再次将我引导至 SDK 位。

老实说,我偶然点击了关于将 SDK 移植到我的自定义平台的 link,这主要是出于好奇。这是我的解决方案 https://github.com/Azure/azure-c-shared-utility/blob/master/devdoc/porting_guide.md

我不得不在这里提到我经历过的另外两个解决方案:

  1. 支持您自定义的代理服务器connector/protocol(将 适用于不需要 MQTT 的情况。然而,MQTT websockets 可以在这里使用)
  2. 网关。这绝对是一个很好的。再次感谢@silent。

哪一个适用于您的特定情况仅由您决定。