Ich habe einen Stream-Job, der Referenzdaten und abgerufene Gerätedaten von einem IOT Hub verwendet. Der Code ist unten;Azure Stream Analytics - Keine Ausgabe
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
ich keine Probleme mit den Referenzdaten haben und alle Felder geprüft worden sind, wie zu erwarten (DeviceId ist dies auch von den Referenzdaten zu den Gerätedaten, etc.). Ausgabe Ich platziere gerade einen Blob zum Testen. Ich bin mir nicht sicher, was passiert, aber es wird keine Ausgabe generiert. Alle Ein- und Ausgänge wurden getestet.
Ich habe auch die Daten von der IOTHub mit dem Geräte-Explorer überprüft und es gibt definitiv Ereignisse, die vom IOT Hub empfangen werden.
Irgendwelche Ideen?