У меня есть файл в Amazon S3
в ковше ABCD
. У меня есть 3 объекта ("folderA/folderB/folderC/abcd.csv")
, которые являются папками, а в последней папке у меня есть файл .csv
(abcd.csv)
. Я использовал логику, чтобы преобразовать ее в JSON
и загрузить ее обратно в другой файл, который является файлом .txt
в той же папке ("folderA/folderB/folderC/abcd.txt")
. Мне пришлось загрузить файл локально, чтобы сделать это. Как я могу прочитать файл напрямую и записать его обратно в текстовый файл. Код, который я использовал для записи в файл на S3, ниже, и мне нужно прочитать файл с S3.Как прочитать содержимое файла в Amazon S3
InputStream inputStream = new ByteArrayInputStream(json.getBytes(StandardCharsets.UTF_16));
ObjectMetadata metadata = new ObjectMetadata();
metadata.setContentLength(json.length());
PutObjectRequest request = new PutObjectRequest(bucketPut, filePut, inputStream, metadata);
s3.putObject(request);
Вы, кажется, немного запутались о S3 объекты: вы можете иметь объект с таким ключом, как '' folderA/folderB/folderC/abcd.csv ", но это просто * один * объект. Объекты S3 всегда являются файлами, а не папками. (Даже если, например, в S3 веб-интерфейс «folderA» и т. Д. Отображаются в виде папок, если вы создали объекты с такими ключами.) – Jonik
Это дубликат [Как написать объект S3 в файл?] (Http: //stackoverflow.com/questions/7679924/how-to-write-an-s3-object-to-a-file) – Jonik