Azure IoT Edge 中自定义模块连接的 SAS 令牌处理

问题描述 投票:0回答:1

我正在使用 Azure IoT Edge 将自定义模块连接到 IoTHub。

  • IoT Edge 设备的身份验证方法是“对称密钥”。
  • 用于连接 IoTHub 的包是 azure-iot-sdk-c (https://github.com/Azure/azure-iot-sdk-c)。
  • 使用 azure-iot-sdk-c 中的“IoTHubModuleClient_CreateFromEnvironment”函数建立连接。
  • MQTT 是所选协议。
  • IoT Edge、edgeHub 和 EdgeAgent 的版本为 1.4.16。

将自定义模块连接到IoTHub并传输遥测数据时,我的理解如下:

(1) 自定义模块生成 SAS 令牌(在 azure-iot-sdk-c 中执行“IoTHubModuleClient_CreateFromEnvironment”函数期间生成)。

(2) 自定义模块使用(1)中生成的SAS令牌连接到edgeHub,并将SAS令牌传递给edgeHub。

(3) 自定义模块使用(1)中生成的SAS令牌将遥测数据传输到edgeHub。

(4) EdgeHub 使用 (2) 中传入的 SAS 令牌将遥测数据传输到 IoTHub。

我想确认自定义模块和edgeHub之间的SAS令牌是否与edgeHub和IoTHub之间的SAS令牌相同或是否不同。

谢谢你。

azure azure-iot-hub azure-iot-edge
1个回答
0
投票

您提到的 SAS 令牌仅用于 IoT Edge 模块和 IoT Edge Hub 模块之间的通信。如果 IoT Edge 设备上有多个模块,每个模块都会使用上述方法获取自己的令牌。请注意,此处的每个模块都使用

ModuleClient

连接到 IoT Edge Hub 另一方面,IoT Edge Hub 使用

DeviceClient

 连接到 Azure IoT 中心。 IoT Edge 中心连接所需的配置是在 Edge 设备部署期间设置的。例如,请注意“部署 IoT Edge 设备”部分,您可以在其中看到设备连接字符串参数集。 IoT Edge 运行时和 IoT Edge 中心将使用它来进行身份验证并与 IoT 中心通信。
请参阅文档了解 Azure IoT Edge 运行时及其架构

,以更好地了解 IoT Edge Hub 的架构和功能。

© www.soinside.com 2019 - 2024. All rights reserved.