mqtt - 如何使用 native MQTT 设置 Azure IoT 中心 "System Properties"?

标签 mqtt iot azure-iot-hub

我正在将 native MQTT 与 Azure IoT 中心结合使用。根本问题是,一旦有效负载被路由到 blob 存储,它就会被编码为 Base64。我相信这是由于缺少系统属性“contentType=UTF-8”造成的。

我尝试使用以下主题,但没有成功:

devices/test/messages/events/contentEncoding=UTF-8&contentType=application/json
devices/test/messages/events/contentEncoding=UTF-8
devices/test/messages/events/contentEncoding=UTF-8&contentType=applicationjson
devices/test/messages/events/.contentEncoding=UTF-8

这会将这两个项目放入“属性”嵌套中,该嵌套独立于“系统属性”嵌套(见下文)。

{"EnqueuedTimeUtc":"2019-07-31T19:24:57.4290000Z","Properties":{"contentEncoding":"UTF-8","contentType":"applicationjson"},"SystemProperties":{"connectionDeviceId":"test","connectionAuthMethod":"{\"scope\":\"device\",\"type\":\"sas\",\"issuer\":\"iothub\",\"acceptingIpFilterRule\":null}","connectionDeviceGenerationId":"000","enqueuedTime":"2019-07-31T19:24:57.4290000Z"},"Body":"msginbase64insteadofutf8"}

我尝试根据此处描述的“通用格式”格式化消息,但也没有成功:https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-routing-query-syntax#message-routing-query-based-on-message-properties

最佳答案

以下是发布者主题和系统属性的示例*:

devices/test/messages/events/$.ct=application%2Fjson&$.ce=utf-8

关于mqtt - 如何使用 native MQTT 设置 Azure IoT 中心 "System Properties"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57297853/

相关文章:

c# - 当目标架构为arm32v7时,azure iot Edge构建失败(在ubuntu中)

ios - 如何使用azure iot sdk在ios中调用设备方法

java - MQTT同时从不同应用程序订阅同一主题时未收到保留消息

apache-kafka - 物联网数据系统设计: Google Pub/Sub vs Kafka vs Kinesis vs PubNub for IoT data ingestion?

Azure IOT 中心匿名访问

c# - 从 IP 摄像头获取位图图像,UWP

c# - 使用 EventHub 和异步的突发请求模式

android - 用于 Android 聊天应用程序的 MQTT/限制主题访问

javascript - MQTT 连接在 Node 中工作,但不能作为 ReactJS 组件

python - 在 python 中使用 paho mqtt 处理收到的消息