Azure Stream Analytics
作业根据此Azure Event Hub
将事件导出到Query
:
SELECT ipAddress, httpRequestTime
INTO Outlet
FROM Inlet
TIMESTAMP BY HttpRequestTime
没有事件输出到Event Hub
。但是,如果我更改Query
,删除TIMESTAMP
子句,则输出所有事件:
SELECT ipAddress, httpRequestTime
INTO Outlet
FROM Inlet
为什么TIMESTAMP
子句会阻止事件到达Event Hub
?
顺便说一下,如果这个Query
的要点不清楚,原来的Query
就更复杂了,而且通过消除过程,我已经将问题与TIMESTAMP
子句隔离开了。
答案 0 :(得分:0)
Partition Key
在开发过程中多次更改,这似乎已中断Stream Analytics
作业与下游Event Hub
Partitions
之间的映射,从而导致邮件丢失。
删除并重新创建上行和下行Event Hubs
,并重置相关的Stream Analytics
输入和输出,重新校准Partition-mappings
并解决问题。
This answer详细说明了根本原因。