Я пытаюсь обработать многостраничные TIF-файлы в функции Azure.Функция вызывается изменениями в хранилище BLOB-объектов.Когда триггер запускается, он вызывает это:
function loadFile(Stream mpTif);
Bitmap pageOnes = (Bitmap)Image.FromStream(mpTif);
mpTif
- это поток хранилища больших двоичных объектов, передаваемый непосредственно в функцию Azure.
Моя функция отлично работает на небольшом многостраничном TIFфайлы, но когда я помещаю очень большой в хранилище BLOB-объектов, он выходит из строя на Image.FromStream
с ошибкой:
Параметр недействителен
Я запускаю этона моей собственной машине с использованием локальной функции хоста.Странно то, что у меня есть консольное приложение, которое запускается с использованием того же кода, но вместо этого вызывает его с помощью MemoryStream:
MemoryStream data = new MemoryStream(File.ReadAllBytes("big.tif"));
loadFile(data);
Это прекрасно работает.Достигну ли я какого-то ограничения памяти в функциях Azure?Подозрительно проходит много времени, прежде чем я нахожу эту ошибку, что заставляет меня думать, что это вещь OOMЭтот TIF-файл очень большой (80 МБ и 10000 страниц).