У меня большой файл JSON (т.е. от 100 МБ до 3 ГБ) в S3. Как это обработать?
Сегодня я использую s3client.getObjectContent()
для получения входного потока и пытаюсь его обработать.
Во время потоковой передачи я передаю inputstream
Джексону jsonparser и извлекаю каждый объект JSON и вызываю другой микросервис для обработки объекта JSON, полученного из входного потока s3.
Проблема:
Поскольку я обрабатываю объект JSON, поток S3 закрывается без обработки всей полезной нагрузки от S3.
Я получаю предупреждение:
S3AbortableInputStream: не все байты были прочитаны из S3ObjectInputStream, прерывая HTTP-соединение
Я ищу способ обработки большой полезной нагрузки S3 без закрытия клиентом S3 потока перед обработкой всей полезной нагрузки. Любые лучшие практики или идеи приветствуются.
Ограничения: Мне нужно обработать это как поток или с минимальным объемом памяти.