我正在使用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文檔,並且他們沒有設置任何類型的配置對象。
有沒有人得到這個工作?我究竟做錯了什麼?
我的腳本標記已被刪除。我將這個文件包含在我的stl中:sdk.amazonaws.com/js/aws-sdk-2.100.0.min.js – Jay