azure-iot-hub - 我可以在iothub中按分区查看设备列表吗?
问题描述
我有 2 个集群节点从 iothub 接收消息。我按分区分摊他们的责任。节点 1 从分区 1、3、5、7、9 和其他 2、4、6、8 和 0 读取。最近,我的分区 8 停止响应,直到我停止我的代码并重新启动它。似乎设备正在发送锁定分区的消息。我想要做的是列出我的分区 8 中的所有设备。这可能吗?是否有云 shell 命令可以将这些设备放入列表中?
解决方案
不确定这会对您有所帮助,但您可以看到传入消息的分区。例如,您可以使用 Azure 流分析来查看使用此查询的分区:
Select GetMetadataPropertyValue(IoTHub, '[IoTHub].[ConnectionDeviceId]') as DeviceId, partitionId
from IoTHub
此外,如果您在 VisualStudio 中本地运行,它会告诉您哪个设备正在发送格式错误的 JSON。例如。
[警告] 2021 年 10 月 21 日上午 9:12:54:用户警告源“IoTHub”在处理时间“2021-10-21T15:12:50.5076449Z”和“2021-”之间出现了 1 次“InputDeserializerError.InvalidData”类型10-21T15:12:50.5712076Z'。无法将来自资源“分区:[1]、偏移量:[455266583232]、序列号:[634800]、DeviceId:[DeviceName] ”的输入事件反序列化为 Json。一些可能的原因:1)格式错误的事件 2)输入源配置错误的序列化格式
还要检查 ASA 作业中的“活动日志”刀片。它可能会为您提供更多详细信息。
推荐阅读
- applescript - 将值作为参数传递给处理程序
- java - docker image: openjdk:15: 如何在其中安装 python
- vue.js - 在 vue ant 设计步骤中包含一个独立的组件
- spring-batch - 春季批处理主从多个作业并行
- python - 将行和列附加到多维数组 Numpy Python
- node.js - 我将我的快递项目转移到了火力基地,护照会话停止在快递中工作
- python - M1 Macbook Python 在 Spyder 和 Atom IDE 上找不到模块
- java - 放大 fxml 时,scroolPane 上的 JavaFX scollBar 不起作用
- sql - SQLite GROUP BY 最低价格缺失结果
- itext - iText 7中的Table NoWrap选项?