Azure流分析 - 无输出

时间:2016-12-09 21:44:43

标签: azure-stream-analytics azure-iot-hub

我有一个Stream作业,它使用参考数据和从IOT Hub检索的设备数据。代码如下;

WITH AggregatedValues AS
(
SELECT
    iot1.DeviceId,
    iot1.SensorId,
    MAX(CAST(iot1.Timestamp AS DateTime)) AS [DateTime], 
    CASE WHEN ch1.IsActive = 1 AND ch1.AggregateType = 1
    THEN SUM(iot1.SensorValue)
    WHEN ch1.IsActive = 1 AND ch1.AggregateType = 3
    THEN MAX(iot1.SensorValue)
    WHEN ch1.IsActive = 1 AND ch1.AggregateType = 4
    THEN MIN(iot1.SensorValue)
    ELSE AVG(iot1.SensorValue)
    END [AggValue]
FROM 
MecfabIoTHub iot1
JOIN DeviceRef1 ch1
ON iot1.DeviceId = ch1.DeviceId AND iot1.SensorId = ch1.SensorId
GROUP BY iot1.DeviceId, iot1.SensorId,ch1.IsActive, ch1.AggregateType, TumblingWindow(minute,5)
)

SELECT  
ch2.DeviceName,
ch2.SensorType,
ch2.SensorName,
ch2.TriggerVal,
ch2.TriggerState,
ch2.AggregateType,
ch2.IsActive,
AggregatedValues.[AggValue],

CASE WHEN ch2.IsActive = 1 AND ch2.TriggerState = 1 AND AggregatedValues.AggValue >= ch2.TriggerVal
THEN ch2.AlertDesc
WHEN ch2.IsActive = 1 AND ch2.TriggerState = 2 AND AggregatedValues.AggValue <= ch2.TriggerVal
THEN ch2.AlertDesc
ELSE NULL
END AS Alert

INTO
BLOBSensorData
FROM 
AggregatedValues
JOIN DeviceRef1 ch2
ON ch2.DeviceId = AggregatedValues.DeviceId  AND ch2.SensorId = AggregatedValues.SensorId

我对参考数据没有任何问题,并且所有字段都已按预期检查(DeviceId从参考数据到设备数据等相同)。输出我只是放在blob中进行测试。不知道发生了什么,但没有生成输出。所有输入和输出都经过测试。

我还使用设备资源管理器检查了来自IOTHub的数据,并且IOT中心肯定收到了事件。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

您是否检查过您在查询中输出的名称是否正确,例如INTO BLOBSensorData

之前我遇到过这个问题,因为我的查询中的输出名称不正确。

答案 1 :(得分:0)

您是否按照流分析工作中的“诊断和解决问题”中所述测试了您的查询?也许连接不起作用。

问候,

菲利普