У меня есть задание Stream, которое использует ссылочные данные и данные с извлеченного устройства с IOT-концентратора. Код ниже;Azure Stream Analytics - Нет вывода
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 Hub.
Любые идеи?