2017-09-05 135 views
1

我正在使用Javascript AWS SDK。我將它包括在內: 使用Javascript SDK的AWS s3存儲桶中的getObject:「缺失憑據」錯誤

我想要做的就是GET對象已經存儲在s3存儲桶中。

客戶端代碼可以訪問存儲在s3上的對象的(工作)URL。它看起來像這樣:

https://s3.amazonaws.com/my-bucket-name/my-object-key

我的客戶端應用程序目前有一堆這些URL。我通過模擬點擊這些URL的鏈接成功下載文件。

我想要做的是在腳本中將所有文件放在一起,這樣我就可以使用JSzip將它們捆綁到一個具有良好文件夾結構的zip文件中。

我嘗試做以下(包括所有s3的相關的代碼在我的代碼庫):

var bucketName = 'my-bucket-name'; 
    var s3 = new AWS.S3({ 
     params: { 
      Bucket: bucketName 
     } 
    }); 

    var key = myFileUrl.split('my-bucket-name/')[1]; 
    var params = { 
     Key: key 
    }; 
    s3.getObject(params, function(err, data) { 
     if (err) console.log("error!" + err + err.stack); // an error occurred 
     else { 
     console.log("success getting file from S3:",data);   // successful response 
     } 
    }); 

當我運行它,我得到一個「CredentialsError:缺少配置憑據」的錯誤。

我實際上不需要任何憑據,對吧?該文件是公開的,只需通過鏈接即可獲取。我查看了使用Javascript(客戶端)sdk的AWS文檔,並且他們沒有設置任何類型的配置對象。

有沒有人得到這個工作?我究竟做錯了什麼?

+0

我的腳本標記已被刪除。我將這個文件包含在我的stl中:sdk.amazonaws.com/js/aws-sdk-2.100.0.min.js – Jay

回答

相關問題