Насколько я знаю, чтобы создать объект файла для отправки на AWS, вам нужно создать фактический файл на диске, например, с PrintStream
:
File file = new File("path/to/your/file.name");
try (PrintStream out = new PrintStream(new FileOutputStream(file))) {
out.print(messageBody);
}
Вместо использования конструктора, принимающего файл, вы можете использовать тот, который принимает InputStream
:
PutObjectRequest request = new PutObjectRequest(s3BucketName, key, inputStream, metadata);
amazonS3.putObject(request);
Чтобы преобразовать строку в InputStream
, используйте
new ByteArrayInputStream(messageBody.getBytes(StandardCharsets.UTF_8));
Ссылка на SDK JavaDo c