如何使用本机 MQTT 设置 Azure IoT 中心 "System Properties"?
How do you set Azure IoT Hub "System Properties" using native MQTT?
我将本机 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
这将这两个项目放入一个独立于 "System Properties" 嵌套(见下文)的 "Properties" 嵌套中。
{"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"}
我尝试根据此处描述的 "Common Format" 格式化邮件,但也没有成功:https://docs.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 与 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
这将这两个项目放入一个独立于 "System Properties" 嵌套(见下文)的 "Properties" 嵌套中。
{"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"}
我尝试根据此处描述的 "Common Format" 格式化邮件,但也没有成功:https://docs.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