我正在使用 Azure IoT Edge 将自定义模块连接到 IoTHub。
将自定义模块连接到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令牌相同或是否不同。
谢谢你。
您提到的 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 的架构和功能。