本文介绍:
IoT Hub 消息路由功能JSON格式消息以base64编码存储到blob中的处理方式。
通过消息路由配置了一个路由到Stoage 的路由,编码格式采用了JSON格式,路由生效后,在Storage中发现消息体成了base64编码:
base64 编码的消息体:
处理方案:
在遥测消息体里对系统属性进行手动设置:
官网文档描述:https://docs.azure.cn/zh-cn/iot-hub/iot-hub-devguide-messages-d2c#azure-storage
IoT 中心支持将数据以 Apache Avro 格式和 JSON 格式写入 Azure 存储。 默认值为 AVRO。 只有在配置 Blob 存储终结点时才能设置编码格式。 不能编辑现有终结点的格式。 使用 JSON 编码时,必须在消息系统属性中将 contentType 设置为 application/json,将 contentEncoding 设置为 UTF-8。 这两个值都不区分大小写。 如果未设置内容编码,则 IoT 中心将以 base 64 编码格式写入消息。
JS的示例代码如下:
// Set message body type and content encoding
message.contentEncoding = "utf-8";
message.contentType = "application/json";
C#示例代码如下:
message.ContentEncoding = "utf-8";
message.ContentType = "application/json";
验证结果如下: