В функции Azure вы можете использовать триггер blob. Этот триггер может быть bound to a variety of data structures:Какая структура данных C# должна содержать содержимое blob для оптимальной линейной обработки?
- 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());
}
Из моего опыта, нет способа получить строки, отличные от чтения до конца. Если вы хотите свести к минимуму время работы компьютера и использование памяти, возможно, вы можете попробовать очередь или documentDB. –
@ Jambor-MSFT да все строки должны быть прочитаны, и пока они разделены табуляцией, их нужно обработать, чтобы они могли перейти в очередь или docdb. Я пытаюсь создать эффективную функцию Azure для этого. Вопрос заключается в том, эффективен ли какой-либо из типов объектов, который может связывать вход blob для этого варианта использования, чем другие. –