Загрузка только диапазона байтов или определенного файла из архива TAR в S3 - PullRequest
0 голосов
/ 12 февраля 2019

Попытка выяснить, можно ли загрузить определенный файл или диапазон байтов из несжатого архива TAR на S3.

Вариант использования можно описать так:

  • Файл TAR сгенерирован моим приложением (поэтому мы можем его контролировать)
  • Файл TAR находится в корзине S3
  • Файл TAR называется archive.tar
  • Файл TAR содержит два файла: metadata.txt и payload.png
  • metadata.txt гарантированно всегда будет иметь размер «n» байтов, где «n» относительно небольшой
  • payload.png может иметь любой размер и, следовательно, может быть очень большим файлом (> 1 ГБ)
  • Мое приложение должно иметь возможность загрузить metadata.txt, чтобы понять, как обрабатывать файл TAR, и яЯ не хочу, чтобы приложение загружало весь файл TAR только для файла metadata.txt

В идеале, в любой момент времени в памяти должен быть только файл metadata.txt.и никогда не весь архив TAR или какую-либо его частьof payload.png.Я не хочу нести нагрузку на сеть или память при загрузке огромного архива TAR только для того, чтобы прочитать небольшой файл metadata.txt, содержащийся.

Я заметил S3ObjectInputStream вAWS SDK, но я не уверен, как использовать его с файлом TAR для моего варианта использования.

Кто-нибудь когда-либо реализовывал нечто подобное или имел какие-либо указатели на ссылки, которые я мог бы проверить, чтобы помочь с этим?

...