gpt4 book ai didi

Azure 流分析作业截断数据

转载 作者:行者123 更新时间:2023-12-03 05:07:49 25 4
gpt4 key购买 nike

我的 Azure IoT 中心和 Azure 流分析作业遇到了一个非常奇怪的问题。

长话短说:我配置了一个 Azure IoT Hub 实例,以从附有传感器的 Raspberry PI 3 获取一些天气数据;然后,我配置了一个 Azure 流分析作业以从 IoT 中心获取数据并将其放入 DocumentDB 集合中 - 在配置阶段,我将sensorId 设置为分区键。运行该作业近 3 天后,我购买了更多传感器(具有不同的 ID)并将它们添加到 Raspberry PI - 正在收集数据并将其发送到 Azure IoT 中心,所有 3 个连接的传感器没有任何问题(已检查)使用设备资源管理器进行传输)。

现在出现了奇怪的部分 - 只有第一个传感器(本身运行了近 3 天的传感器)发送的数据正在通过分析作业并发送到 DocumentDB - 在门户中我看到我有很多输入事件,但我看到 0 个输出事件(尽管数据正在通过)。

为了排除任何其他问题,我编写了一个小型控制台应用程序,用于“监听”IoT 中心的传入消息,实际上,所有传感器都在向 IoT 中心发送数据。

用于分析作业的查询如下:

    SELECT
sensorId,
avg(humidity) as avghumidity,
avg(temperatureFromHumidity) as avgtemperatureFromHumidity,
avg(objectTemperature) as avgobjectTemperature,
avg(temperatureFromIr) as avgtemperatureFromIr,
avg(pressure) as avgpressure,
avg(lux) as avglux,
System.TimeStamp AS executionTime
INTO
[XXX-document-db]
FROM
[home-meteo] TIMESTAMP BY currentTime
GROUP BY
sensorId,
TumblingWindow(second, 30)

我见过其他类似的问题,但公认的答案是 Microsoft 存在一个错误。

有什么办法可以调试这个东西吗?

谢谢。

最佳答案

我的错......我无意中发现了这个问题 - 在 documentdb 中,我只看到来自一个传感器的记录,而不是来自其他 2 个传感器的记录,并且不明白为什么,但在查看了我在分析控制台,我意识到这只是我的错。

场景是这样的:我将 documentdb 的作业输出配置为将executionTime 字段作为行键,但该值对于所有 3 个传感器都是相同的,我想在第一次插入 DocumentDB 后,另外两个给出某种错误(我不熟悉 DocumentDB - 我知道 SQL Server),这就是我认为发生的事情。

我更改了查询并采用另一个字段作为行键,一切顺利。希望我说得足够清楚。

关于Azure 流分析作业截断数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36055122/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com