Estoy tratando de obtener un archivo almacenado en Amazon S3 con Java ( http://docs.aws.amazon.com/AmazonS3/latest/dev/RetrievingObjectUsingJava.html ), pero tengo un problema con la clave del objeto porque no no se que es
El nombre del depósito es testbucket
y tengo una carpeta con los files
de nombre en este depósito. Si tengo un archivo con el nombre image.jpeg
; ¿Cuál es la clave del objeto?
private static String bucketName = "testbucket"; private static String key="files/image.jpeg"; public static void main(String[] args) throws IOException { AmazonS3 s3Client = new AmazonS3Client(new ProfileCredentialsProvider()); S3Object s3object = s3Client.getObject(new GetObjectRequest( bucketName, key)); }
Obtengo esta salida:
21:43:54.054 [main] DEBUG com.amazonaws.request - Sending Request: GET https://adap-demo.s3.amazonaws.com /report_templates/Testreport_1.jrxml Headers: (User-Agent: aws-sdk-java/1.10.30 Linux/4.4.0-70-generic OpenJDK_64-Bit_Server_VM/25.121-b13/1.8.0_121, Content-Type: application/x-www-form-urlencoded; charset=utf-8, ) 21:43:54.164 [main] DEBUG caservices.s3.internal.S3Signer - Calculated string to sign: "GET application/x-www-form-urlencoded; charset=utf-8 Sun, 02 Apr 2017 19:43:54 GMT /adap-demo/report_templates/Testreport_1.jrxml" Caught an AmazonClientException, which means the client encountered an internal error while trying to communicate with S3, such as not being able to access the network. Error Message: Unable to calculate a request signature: Unable to calculate a request signature: Empty key