在输入事件中找不到查询中引用的字段预期的字段:TIME 找到的字段:MESSAGEID Azure 流分析作业

Fields referenced in query not found in input events Fields Expected: TIME Fields found: MESSAGEID Azure Stream Analytics Job

我刚刚创建了一个 Azure 流分析作业并配置了输入和输出,这个流分析作业将 Azure IoT 中心作为输入,从 Azure IoT Dev Kit MXChip 接收数据。但是我在输入作业拓扑详细信息中收到错误消息,如下所示。

[4:10:13 PM] Fields referenced in query not found in input events
Fields Expected: TIME
Fields found: MESSAGEID, HUMIDITY
Missing fields: TIME

下面是我的查询。

WITH BasicOutput AS 
(
SELECT    
    messageId,
    System.TIMESTAMP AS TIME,
    deviceId,
    temperature,
    humidity,
    pressure,
    pointInfo,
    IoTHub,
    EventEnqueuedUtcTime,
    EventProcessedUtcTime,
    PartitionId,    
    count(*) AS Count
FROM
    Input TIMESTAMP By TIME
    GROUP BY TUMBLINGWINDOW(minute, 2), 
    messageId, 
    deviceId,
    temperature,
    humidity,
    pressure,
    pointInfo,
    IoTHub,
    EventEnqueuedUtcTime,
    EventProcessedUtcTime,
    PartitionId
)

SELECT * INTO SQLServerOutput FROM BasicOutput
SELECT * INTO AzureFunctionOutput FROM BasicOutput

你遇到过这个问题吗?非常感谢任何帮助。

我刚刚在 Google 中进行了一些搜索,找到了这个 document。阅读相同内容后,我按如下方式更新了我的查询。

WITH BasicOutput AS 
(
SELECT    
    messageId,
    deviceId,
    temperature,
    humidity,
    pressure,
    pointInfo,
    IoTHub,
    EventEnqueuedUtcTime,
    EventProcessedUtcTime,
    PartitionId,    
    COUNT(*) AS Count
FROM
    Input TIMESTAMP By EventEnqueuedUtcTime
    GROUP BY TUMBLINGWINDOW(second, 2), 
    messageId, 
    deviceId,
    temperature,
    humidity,
    pressure,
    pointInfo,
    IoTHub,
    EventEnqueuedUtcTime,
    EventProcessedUtcTime,
    PartitionId
)

SELECT * INTO SQLServerOutput FROM BasicOutput
SELECT * INTO AzureFunctionOutput FROM BasicOutput

我从 select 中删除了 System.TIMESTAMP AS TIME, 并添加了 TIMESTAMP By EventEnqueuedUtcTime。此更改后它开始工作。