Azure 流分析作业在输入格式错误 (JSON) 后被阻止
Posted
技术标签:
【中文标题】Azure 流分析作业在输入格式错误 (JSON) 后被阻止【英文标题】:Azure Stream Analytics job is blocked after malformed input (JSON) 【发布时间】:2018-04-03 13:22:49 【问题描述】:我通过以下方式配置了 Azure 流分析作业:
输入:IoT 中心(4 个分区)
输出:Blob 存储
流分析:将输入数据转发到输出通道,无需数据转换(1 个分区)。
为了了解它在真实场景中的工作原理,我故意发送了一堆格式错误的 JSON 文件作为输入。作业的状态仍处于“运行”状态,根据文档(请参阅https://docs.microsoft.com/en-us/azure/stream-analytics/stream-analytics-common-troubleshooting-issues),我收到了预期的警告。不幸的是,如果我重新发送格式良好的 JSON 文件作为输入,则什么也不会发生(即,我希望正确处理这些新输入,但事实并非如此)。
我能做什么?我可以简单地忽略格式错误的输入数据而不干扰以下(格式良好的)数据的处理吗?
提前感谢您的帮助。
【问题讨论】:
【参考方案1】:我怀疑在您没有收到新消息方面存在某种错误。当 IoT 中心收到格式错误的消息时,实际上会从队列中删除该消息。在收到格式错误的消息后,应该没有什么可以阻止您接收新的、格式正确的消息。
【讨论】:
感谢您的回复。 Stream 逻辑非常简单(见下文)。还有其他我应该考虑的配置吗?从iothub中选择*进入blobtest【参考方案2】:我想我解决了我的问题。在一堆格式错误的输入事件之后,当 Stream 作业没有“近乎实时地”处理新的(格式正确的)事件时,就会出现一种“瞬态阶段”。在此阶段,新事件会被正确地排队和处理,延迟时间很小。
【讨论】:
以上是关于Azure 流分析作业在输入格式错误 (JSON) 后被阻止的主要内容,如果未能解决你的问题,请参考以下文章
Azure 流分析错误:无法反序列化来自 IOT 中心的输入事件
如何捕获来自事件中心的错误 json 记录到 azure 流分析
有没有办法通过流分析作业将原始 JSON 数据传输到 Azure SQL 中?