【发布时间】:2019-05-09 10:53:37
【问题描述】:
在发送到 IoT 中心的消息中定义/创建应用程序属性需要什么?
我有一个演示设备,我使用 C 客户端 SDK 创建消息,一切正常。这些传入消息可以根据 Application Property 值进行路由,并且 EventData 参数在 Azure Function 中正确设置,该函数在 IoT Hub 上进行侦听。
另一台设备也在向同一个 IoT 中心发送数据。在此设备上运行的代码是由我的客户直接开发的,但我怀疑他们是否使用了 SDK。相反,我假设他们自己创建了整个有效载荷。
在我看来,传入的 JSON 看起来基本相同,就像使用 SDK 构建的那样。它包含 applicationProperties 部分和 body 部分。
{
"applicationProperties": {
"type": "telemetry",
"version": "1.0"
},
"body": {
"device_id": "sensor1",
"datetime": "2019-05-09T10:44:04Z",
"channels": {
"T": 24.42,
"H": 44.87,
"C": 1234
}
}
}
但事实证明,消息作为一个整体被视为正文。
那么为什么这条消息的行为不同呢?需要做什么,告诉 IoT Hub 什么是应用程序属性,什么是不使用 SDK 时的真实主体?
【问题讨论】:
-
查看以下链接:docs.microsoft.com/en-us/azure/iot-hub/… 和直接 MQTT 协议:docs.microsoft.com/en-us/azure/iot-hub/…
-
你是直接使用MQTT协议吗?
-
我不能肯定,但我猜他们是直接使用 MQTT 连接的。需要与客户确认,这需要几天时间。
标签: azure-iot-hub