应该将 blob 内容绑定到哪个 C# 数据结构以实现最佳的逐行处理?

Which c# data structure should blob contents be bound to for optimal line by line processing?

在 Azure Functions 中,您可以使用 blob 触发器。此触发器可以是 bound to a variety of data structures:

在处理日志数据(即要处理每一行的数据)时,应使用哪种结构来最大程度地减少计算时间和内存使用量?


这是我目前使用的流程,感觉不是很优雅。可能不相关,但目的是将数据序列化为 JSON 并放入队列或 documentDB。

public static void insertBlob([BlobTrigger] TextReader logBlob, TraceWriter log)
        {
            string[] text = logBlob.ReadToEnd().Split('\n');
            // Do some stuff
            log.Info(text.Count().ToString());
}

从性能的角度来看,最好使用流,因为这会减少内存 pressure/load 时间。

就算法方法而言,当您看到 '\n' 字符时,您不会比仅存储缓冲区并处理该行更好。如果您不太担心性能等问题,我可能会使用您拥有的东西,因为它非常简单。无论如何,函数都会水平缩放。