Загрузите файлы в сжатые файлы .gz из S3 Bucket - PullRequest
0 голосов
/ 20 мая 2018

У меня есть набор сжатых файлов .gz в корзине s3.Я хочу скачать CSV-файл внутри .gz-файла.Я попытался извлечь файл .gz и поместить его в s3Object.Теперь мне нужно извлечь объект s3 и скачать внутри него файл csv, используя java.Пожалуйста, сообщите. Это код, который я использовал. Теперь я могу скачать файл gz.Но мне нужно скачать CSV-файл внутри gz.

S3Object object = s3Client.getObject(“bucket”,“Location/file.gz”);
final String encoding = null;
return ResponseEntity.ok(IOUtils.toString(object.getObjectContent(), encoding));

Мне нужна помощь в разархивировании gz-файла в s3object и вернуть распакованное содержимое в ответ.

1 Ответ

0 голосов
/ 21 мая 2018

Приведенный ниже код преобразует ваш файл gunzip в обычные данные, но я не уверен на 100% о вашей реальной проблеме, хотите ли вы отобразить контент в самом браузере или вы хотите отправить его как Save as Option, этопочему я сделал минимальное изменение кода в вашем коде, предполагая, что у вас есть только проблема при преобразовании формата gunzip в данные CSV, надеюсь, вы сможете изменить / улучшить его так, как вам больше подходит.

import java.util.zip.GZIPInputStream;
//your method begins from here
final AmazonS3 s3 = AmazonS3ClientBuilder.defaultClient();


S3Object object = s3.getObject("your-bucket", "file-path");


return ResponseEntity.ok(IOUtils.toString(new GZIPInputStream(object.getObjectContent())));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...