【发布时间】:2017-09-06 07:59:38
【问题描述】:
我正在使用 Javascript AWS 开发工具包。我把它包括在内:
我要做的就是获取已经存储在 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: Missing credentials in config”错误。
我实际上不应该为此需要任何凭据,对吧?该文件是公开的,我可以通过点击链接获取它。我查看了使用 Javascript(客户端)sdk 的 AWS 文档,他们没有设置任何类型的配置对象。
有人让这个工作吗?我做错了什么?
【问题讨论】:
-
我的脚本标签已被删除。我在我的 stl 中包含 SDK 和这个文件:sdk.amazonaws.com/js/aws-sdk-2.100.0.min.js
标签: javascript amazon-web-services amazon-s3