Я работаю над API экспорта больших данных, но у меня возникают проблемы, когда ему нужно передавать большие данные как JSON. Примером этого является передача более 4 миллионов записей. При сохранении в виде текстового файла размер данных составляет около 380 МБ, но по какой-то причине поток прерывается до 250–280 МБ (всегда разный), и когда я проверяю файл в блокноте, он просто обрезает данные в середина записи.
Это происходит только на сервере Azure, я могу загрузить полный файл через локальный IIS. Также странно то, что при экспорте данных в формате XML, в результате чего файл размером более 600 МБ не имел этой проблемы.
Наш план обслуживания приложений Azure - S3 (4 ядра, 7 ГБ памяти), которого, как мне кажется, должно быть достаточно; код, который фактически передает данные, представляет собой следующую функцию:
public IActionResult ResponseConvert(IList data)
{
return new Microsoft.AspNetCore.Mvc.JsonResult(data);
}
Параметр данных - это объект List<dynamic>
, содержащий записи +4 млн.
На первый взгляд кажется, что Azure прерывает поток преждевременно, есть идеи, почему и как это можно предотвратить?