0

我有向 IOT Hub 发送消息的设备。我正在使用IoT 中心的路由功能将消息路由到 blob 存储。

我看到所有消息都到达了Blob存储。但它以附加格式存储。所有的消息一个接一个地附加。

我知道我们可以配置chunk sizefrequency但我的要求是将一条消息分别存储在一个 blob 中。可能吗?

或者

如何根据时间戳解析每条消息?

这是avro消息

 Objavro.codecnullavro.schema�{"type":"record","name":"Message","namespace":"Microsoft.Azure.Devices","fields":

这是 Azure 函数代码

 using (var reader = AvroContainer.CreateGenericReader(myBlob))
        {
            while (reader.MoveNext())
            {
                foreach (dynamic record in reader.Current.Objects)
                {
                    var bodyText = Encoding.UTF8.GetString(record.Body);
                    log.LogInformation($"AvroRecord = {bodyText}");
                }
            }
        }

但我得到这样的错误

流中的 Avro 对象容器无效。无法识别标头。

4

1 回答 1

0

但它以附加格式存储。所有的消息一个接一个地附加。

您将它创建为什么类型的 blob:块、附加或页面 blob?

https://docs.microsoft.com/en-us/rest/api/storageservices/understanding-block-blobs--append-blobs--and-page-blobs

于 2019-02-25T15:13:48.797 回答