应该将哪个c#数据结构blob内容绑定到最优的逐行处理?

时间:2016-08-05 17:47:38

标签: c# azure-storage-blobs azure-functions

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

  • TextReader(仅限输入)
  • ICloudBlob
  • CloudBlockBlob
  • CloudPageBlob

使用日志数据时,即要处理每行的数据,应该使用哪种结构来最小化计算时间和内存使用量?

这是我使用的当前流程,它并不是非常优雅。可能不相关,但意图是将数据序列化为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());
}

1 个答案:

答案 0 :(得分:3)

从性能角度来看,使用流是最好的,因为这会减少内存压力/加载时间。

就算法方法而言,当你看到{y:True for y in even(s)} 字符时,你不会只是存储缓冲区并处理该行。如果您对性能等不太担心,我可能会使用您所拥有的,因为它非常简单。无论如何,函数将水平缩放。