aws-sdk:NoSuchKey:指定的密钥不存在?

时间:2017-06-18 03:23:13

标签: aws-sdk aws-sdk-nodejs

在我的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);
    });
}

有谁能告诉我我做错了什么?

2 个答案:

答案 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来阅读密钥。