使用 Azure 流分析进行资产跟踪
Asset Tracking with Azure Stream Analytics
我有一个事件中心和一个向 Power BI 发送数据的流分析作业。我想知道配置事件中心/资产跟踪的最佳方式是什么?
例如,我有多个客户端发送到事件中心 -> 流分析作业,我希望能够确定具有特定 ID 的客户端是否离线?
干杯!
如果ID列表比较静态,那么可以使用reference data join输出每次window中缺失的所有ID。
如果您想从流本身推断 ID,并想检测在前一个 window 中处于活动状态的 ID 何时在当前 window 中不活动,您可以使用流连接.这是一个例子
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)
我有一个事件中心和一个向 Power BI 发送数据的流分析作业。我想知道配置事件中心/资产跟踪的最佳方式是什么?
例如,我有多个客户端发送到事件中心 -> 流分析作业,我希望能够确定具有特定 ID 的客户端是否离线?
干杯!
如果ID列表比较静态,那么可以使用reference data join输出每次window中缺失的所有ID。
如果您想从流本身推断 ID,并想检测在前一个 window 中处于活动状态的 ID 何时在当前 window 中不活动,您可以使用流连接.这是一个例子
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)