Buscamos en el mundo online para así mostrarte la respuesta para tu duda, en caso de alguna pregunta puedes dejarnos tu comentario y te contestamos porque estamos para ayudarte.
Solución:
La clase ‘Archivo’ de Java no entiende que S3 existe. Aquí hay un ejemplo de cómo leer un archivo de la documentación de AWS:
AmazonS3 s3Client = new AmazonS3Client(new ProfileCredentialsProvider());
S3Object object = s3Client.getObject(new GetObjectRequest(bucketName, key));
InputStream objectData = object.getObjectContent();
// Process the objectData stream.
objectData.close();
En 2019, hay una forma un poco más óptima de leer un archivo de S3:
private final AmazonS3 amazonS3Client = AmazonS3ClientBuilder.standard().build();
private Collection loadFileFromS3()
try (final S3Object s3Object = amazonS3Client.getObject(BUCKET_NAME,
FILE_NAME);
final InputStreamReader streamReader = new InputStreamReader(s3Object.getObjectContent(), StandardCharsets.UTF_8);
final BufferedReader reader = new BufferedReader(streamReader))
return reader.lines().collect(Collectors.toSet());
catch (final IOException e)
log.error(e.getMessage(), e)
return Collections.emptySet();
Si el contenido del archivo es un string, entonces puede usar getObjectAsString. De lo contrario, puede usar IOUtils.toByteArray en getObjectContent()
para leer el contenido del archivo en un byte array.
Obviamente, estos se utilizan mejor en objetos S3 pequeños que caben fácilmente en la memoria.
private final AmazonS3 amazonS3Client = AmazonS3ClientBuilder.standard().build();
private String loadStringFromS3()
try
return amazonS3Client.getObjectAsString(BUCKET_NAME, FILE_NAME);
catch (final IOException e)
log.error(e.getMessage(), e)
return null;
private byte[] loadDataFromS3()
try (final S3Object s3Object = amazonS3Client.getObject(BUCKET_NAME, FILE_NAME))
return IOUtils.toByteArray(s3Object.getObjectContent());
catch (final IOException e)
log.error(e.getMessage(), e)
return null;
finally
IOUtils.closeQuietly(object, log);
Si para ti ha resultado de utilidad nuestro artículo, nos gustaría que lo compartas con el resto entusiastas de la programación y nos ayudes a dar difusión a nuestro contenido.