2012-05-10 67 views
1

我正在嘗試獲取aws-publicdatasets存儲桶中commoncrawl的對象名稱列表。我一直在尋找使用的JetS3t到createSignedGetUrl但我不知道我是否可以通過下面的方法獲取對象的列表:有沒有辦法在請求者支付標記的Amazon S3存儲桶中列出對象?

credentials = new AWSCredentials(accessId, secretId); 
    restS3Service = new RestS3Service(credentials); 
    restS3Service.setRequesterPaysEnabled(true); 
    Calendar cal = Calendar.getInstance(); 
    cal.set(Calendar.HOUR, cal.get(Calendar.HOUR)+1); 
    Date expiryDate = new Date(cal.getTimeInMillis()); 
    String getUrl = restS3Service.createSignedGetUrl(bucketName, null, 
      expiryDate, false); 

    S3Object obj = signedUrlHandler.getObjectWithSignedUrl(getUrl); 

回答

2

Requester Pays功能可用於共享的水桶,並允許支付由經過身份驗證的AWS用戶而不是存儲桶的所有者使用共享存儲區。

所以,如果你想創建一個簽名的URL,那麼沒有任何人可以通過簽名的URL訪問該對象。如何識別訪問哪個AWS賬戶,或者什麼時候訪問S3用戶。

我認爲這是不可能的。

相關問題