在我的nodejs项目中,我使用aws-sdk从我的s3存储桶下载所有图像,但是我收到了这个错误 - NoSuchKey:指定的密钥不存在。但是键是正确的,我可以使用这些键上传图像。
我的代码是:
var AWS = require('aws-sdk');
s3 = new AWS.S3();
var params = {
Bucket: config.get("aws.s3.bucket"),
Key: config.get("aws.credentials.secretAccessKey")
};
s3.getObject(params, function (err, data) {
console.log("data");
if (err) console.log(err, err.stack); // an error occurred
else console.log(data);
});
}
有谁能告诉我我做错了什么?
答案 0 :(得分:3)
有关如何使用aws-sdk的问题,应该如下例所示:
var aws = require('aws-sdk');
aws.config.update({
accessKeyId: {{AWS_ACCESS_KEY}},
secretAccessKey: {{AWS_SECRET_KEY}}
});
var s3 = new aws.S3();
var s3Params = {
Bucket: {{bucket name}},
Key: {{path to dedicated S3 Object (folder name + file/object
name)}}
};
s3.getObject(s3Params, function (err, data) {
//Continue handling the returned results.
});
使用正确的数据替换{{}}内的字符串,它应该可以正常工作。
答案 1 :(得分:0)
您可能需要sudo来阅读密钥。