如何获取amazon s3服务的对象密钥

时间:2017-04-02 19:57:41

标签: java amazon-s3

我试图使用Java(http://docs.aws.amazon.com/AmazonS3/latest/dev/RetrievingObjectUsingJava.html)来获取存储在Amazon S3中的文件,但我对象密钥存在问题,因为我不知道它是什么。

存储桶名称为testbucket,我在此存储桶中有一个名为files的文件夹。如果我有一个名为image.jpeg的文件;什么是对象键?

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));
     } 

我得到了这个输出:

  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 c.a.services.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 

0 个答案:

没有答案