使用Azure流分析进行资产跟踪

时间:2015-08-25 16:04:51

标签: azure azure-eventhub azure-stream-analytics

我有一个事件中心和一个流分析作业将数据发送到Power BI。我想知道什么是配置事件中心/资产跟踪的最佳方式?

例如,我有多个客户端发送到事件中心 - >流分析工作,我希望能够确定具有特定ID的客户端是否脱机?

干杯!

1 个答案:

答案 0 :(得分:0)

如果ID列表是相对静态的,那么您可以使用引用数据连接来输出每个时间窗口中缺少的所有ID。

如果要从流本身推断ID,并且想要检测当前窗口中活动的ID在当前窗口中何时不活动,则可以使用流连接。这是一个例子

with MissingAssets as
(
select
    PreviousWindowSignal.signalTime,
    PreviousWindowSignal.AssetId
from
    AssetSignalStream PreviousWindowSignal Timestamp by signalTime
left outer join
    AssetSignalStream CurrentWindowSignal Timestamp by signalTime
 on
    PreviousWindowSignal.AssetId = CurrentWindowSignal.AssetId
    and datediff(second,PreviousWindowSignal,CurrentWindowSignal) between 1 and 300
where
    CurrentWindowSignal.AssetId is null
 )

 select
    AssetId,
    max(signalTime) MostRecentSignalInWindow 

 from 
    MissingAssets 
  group by
    AssetId,
    TumblingWindow(ss,300)