0

我正在使用 Azure IoT Edge 在管道中发送一些消息。我设置了一个自定义终结点(例如GenericEndpoint),它将消息发送/放入 Azure Blob 存储。我正在使用路由将设备消息推送到特定端点GenericEndpoint

GenericEndpoint的批处理频率设置为 60 秒。所以 1 批在指定的容器中创建了 1 个带有一些消息的单个文件。

可以说,特定容器中的单个 blob 批处理文件(例如blobX )中有N条消息。如果我取 blobX 中每条消息 i 的IoTHub.EnqueuedTime (i) 和blobX的“创建时间”之差的平均值,并将其称为AVG,我得到:

平均

我认为,这基本上给了我这些N条消息在写入 blob 存储之前在 iothub 中花费的平均时间。现在我在这里观察到的是,如果pq分别是blobX中写入的第一条和最后一条消息,那么

ss ss

但由于批处理间隔设置为 60 秒,我预计这个平均值或AVG大约接近 30 秒。因为,如果消息一到就写入,那么每个批处理文件的平均时间将接近 30 秒。

但在我的情况下,AVG ≈ 90 秒,这表明消息至少要等待大约一个批处理间隔(在本例中为 60 秒),然后再考虑用于特定批处理。

假设:当一批消息被写入一个 blob 文件时,它们是一次性写入的。

我的问题

一个批次间隔或 60 秒的延迟是故意的吗?如果是,那么我假设它将批处理间隔更改为 100 秒。

如果不是,那么在iothub中处理一条消息然后通过路由将其发送到自定义端点通常需要60秒吗?还是我从一个完全错误的角度来看这个?

如果我的问题看起来令人困惑,我会事先道歉。

4

0 回答 0