azure - 是否可以强制 Azure IoT 中心将 blob 保存为内容类型 application/json
问题描述
我有一个将遥测消息发送到 Azure IoT 中心的 IoT 设备。该消息没有任何内容类型的属性。我将收到的 IoT 遥测消息保存在一个 blob 中,并发现集线器将它们保存为内容类型 = 应用程序/八位字节流,但我希望它们保存为内容类型 = 应用程序/json。由于我无法修改设备和消息结构,有没有办法设置 IoT 中心、路由规则或 blob 存储本身,以强制内容类型为 application/json?
我的集线器自定义存储端点的屏幕截图,将设置编码为 JSON。 截图在这里
解决方案
我做了重现,发现您的 IOT 集线器消息可能默认设置为 blob 作为 AVRO。请使用编码部分指定消息格式,例如 JSON
下图显示了我们如何导航到 IOT hub 消息路由并添加自定义端点进行存储,并选择一个容器来存储 IOT hub 的消息。
注意:数据可以以默认的 Apache Avro 格式或 JSON 格式写入 Blob 存储。
只能在配置 Blob 存储终结点时设置编码格式。对于已设置的端点,无法更改格式。使用 JSON 编码时,您必须在消息系统属性中将 contentType 设置为 JSON,并将 contentEncoding 设置为 UTF-8。
参考:教程 -使用 Azure CLI 为 Azure IoT 中心配置消息路由 | 微软文档
请通过上述文档中的存储帐户部分的路线。
推荐阅读
- iis - 为什么 IIS CORS 模块“访问控制允许来源”似乎被缓存?
- jmeter - JMeter 如果控制器不工作
- javascript - 与外部 react.js 捆绑不起作用 - 可能缺少一些全局变量?
- java - 无法从此列表中找到要调用的 maven() 方法:
- sql - 将数据加载到 PDW 上的临时表中
- python - 跟随抓取的链接
- r - 将 data.frames 列表中的列表取消列出到单个 data.frame
- android - 如何证明像诗一样的文字?
- java - Android Studio 3.1.2 - 无法运行 C++ 子例程“找不到 Java.lang.String 的实现...”
- python - python流控制功能奇怪